Пользовательская сетка пуста - PullRequest
0 голосов
/ 11 апреля 2019

Действительно простая, но приводящая в бешенство проблема.

1) Создан скрипт БД для добавления поля в базу и опубликован. 2) Создан новый ЦАП на основе измененной таблицы. 3) Создан новый экран и график. 4) Изменил график так, чтобы он указывал на ЦАП, созданный в # 2.

Проблема: Сетка пуста, и я не могу заставить ее что-либо показать вообще.

ЦАП, сгенерированный при загрузке из базы данных (без изменений):

  [Serializable]
  public class INItemXRef : IBqlTable
  {
    #region InventoryID
    [PXDBInt(IsKey = true)]
    [PXUIField(DisplayName = "Inventory ID")]
    public virtual int? InventoryID { get; set; }
    public abstract class inventoryID : IBqlField { }
    #endregion

    #region SubItemID
    [PXDBInt(IsKey = true)]
    [PXUIField(DisplayName = "Sub Item ID")]
    public virtual int? SubItemID { get; set; }
    public abstract class subItemID : IBqlField { }
    #endregion

    #region AlternateType
    [PXDBString(4, IsKey = true, InputMask = "")]
    [PXUIField(DisplayName = "Alternate Type")]
    public virtual string AlternateType { get; set; }
    public abstract class alternateType : IBqlField { }
    #endregion

    #region BAccountID
    [PXDBInt(IsKey = true)]
    [PXUIField(DisplayName = "BAccount ID")]
    public virtual int? BAccountID { get; set; }
    public abstract class bAccountID : IBqlField { }
    #endregion

    #region AlternateID
    [PXDBString(50, IsKey = true, IsUnicode = true, InputMask = "")]
    [PXUIField(DisplayName = "Alternate ID")]
    public virtual string AlternateID { get; set; }
    public abstract class alternateID : IBqlField { }
    #endregion

    #region Descr
    [PXDBString(256, IsUnicode = true, InputMask = "")]
    [PXUIField(DisplayName = "Descr")]
    public virtual string Descr { get; set; }
    public abstract class descr : IBqlField { }
    #endregion

    #region Uom
    [PXDBString(6, IsUnicode = true, InputMask = "")]
    [PXUIField(DisplayName = "Uom")]
    public virtual string Uom { get; set; }
    public abstract class uom : IBqlField { }
    #endregion

    #region CreatedByID
    [PXDBCreatedByID()]
    public virtual Guid? CreatedByID { get; set; }
    public abstract class createdByID : IBqlField { }
    #endregion

    #region CreatedByScreenID
    [PXDBCreatedByScreenID()]
    public virtual string CreatedByScreenID { get; set; }
    public abstract class createdByScreenID : IBqlField { }
    #endregion

    #region CreatedDateTime
    [PXDBDate()]
    [PXUIField(DisplayName = "Created Date Time")]
    public virtual DateTime? CreatedDateTime { get; set; }
    public abstract class createdDateTime : IBqlField { }
    #endregion

    #region LastModifiedByID
    [PXDBLastModifiedByID()]
    public virtual Guid? LastModifiedByID { get; set; }
    public abstract class lastModifiedByID : IBqlField { }
    #endregion

    #region LastModifiedByScreenID
    [PXDBLastModifiedByScreenID()]
    public virtual string LastModifiedByScreenID { get; set; }
    public abstract class lastModifiedByScreenID : IBqlField { }
    #endregion

    #region LastModifiedDateTime
    [PXDBDate()]
    [PXUIField(DisplayName = "Last Modified Date Time")]
    public virtual DateTime? LastModifiedDateTime { get; set; }
    public abstract class lastModifiedDateTime : IBqlField { }
    #endregion

    #region Tstamp
    [PXDBTimestamp()]
    [PXUIField(DisplayName = "Tstamp")]
    public virtual byte[] Tstamp { get; set; }
    public abstract class tstamp : IBqlField { }
    #endregion

    #region UsrNoteID
    [PXDBGuid()]
    [PXUIField(DisplayName = "Usr Note ID")]
    public virtual Guid? UsrNoteID { get; set; }
    public abstract class usrNoteID : IBqlField { }
    #endregion

    #region UsrTemp
    [PXDBString(20, IsUnicode = true, InputMask = "")]
    [PXUIField(DisplayName = "Usr Temp")]
    public virtual string UsrTemp { get; set; }
    public abstract class usrTemp : IBqlField { }
    #endregion

    #region Noteid
    [PXDBGuid()]
    [PXUIField(DisplayName = "Noteid")]
    public virtual Guid? Noteid { get; set; }
    public abstract class noteid : IBqlField { }
    #endregion
  }

График экрана (только изменения были в представлениях для использования ЦАП выше):

using System;
using PX.Data;

namespace PennAirSales
{
  public class INItemXRefBLC : PXGraph<INItemXRefBLC>
  {

    public PXSave<INItemXRef> Save;
    public PXCancel<INItemXRef> Cancel;


    public PXFilter<INItemXRef> MasterView;
    public PXFilter<INItemXRef> DetailsView;

    //[Serializable]
    //public class MasterTable : IBqlTable
    //{

    //}

    //[Serializable]
    //public class DetailsTable : IBqlTable
    //{

    //}
  }

ASPX (без изменений)

<%@ Page Language="C#" MasterPageFile="~/MasterPages/ListView.master" AutoEventWireup="true" ValidateRequest="false" CodeFile="IN202599.aspx.cs" Inherits="Page_IN202599" Title="Untitled Page" %>
<%@ MasterType VirtualPath="~/MasterPages/ListView.master" %>

<asp:Content ID="cont1" ContentPlaceHolderID="phDS" Runat="Server">
    <px:PXDataSource ID="ds" runat="server" Visible="True" Width="100%"
        TypeName="PennAirSales.INItemXRefBLC"
        PrimaryView="MasterView"
        >
        <CallbackCommands>

        </CallbackCommands>
    </px:PXDataSource>
</asp:Content>
<asp:Content ID="cont2" ContentPlaceHolderID="phL" runat="Server">
    <px:PXGrid ID="grid" runat="server" DataSourceID="ds" Width="100%" Height="150px" SkinID="Primary" AllowAutoHide="false">
        <Levels>
            <px:PXGridLevel DataMember="DetailsView">
                <Columns>
                <px:PXGridColumn DataField="AlternateID" Width="180" />
                <px:PXGridColumn DataField="AlternateType" Width="70" />
                <px:PXGridColumn DataField="Descr" Width="280" />
                <px:PXGridColumn DataField="InventoryID" Width="70" />
                <px:PXGridColumn DataField="BAccountID" Width="70" />
                <px:PXGridColumn DataField="NoteID" Width="70" /></Columns>
            </px:PXGridLevel>
        </Levels>
        <AutoSize Container="Window" Enabled="True" MinHeight="150" />
        <ActionBar >
        </ActionBar>
    </px:PXGrid>
</asp:Content>

Это так просто, я не могу понять, почему нет данных, которые извлекаются (я могу видеть данные очень хорошо в общем запросе), кажется, что это что-то очень очевидное, я пропускаю ...

1 Ответ

1 голос
/ 11 апреля 2019

Вам нужно представление, которое не является фильтром (PXSelect vs PXFilter)

Попытка:

public PXSelect<INItemXRef> DetailsView;
...