网格行在自定义选项卡上消失

Grid rows disappear on custom tab

针对“项目任务”屏幕,我添加了一个带有网格的新选项卡。

我创建了一个自定义 table,其中包含一个项目 ID 和一个任务 ID,我用它来根据图形扩展过滤我的 PXSelect。

当我切换到选项卡时,行在那里正确显示,但一秒钟后它们就消失了?它像 Current.TaskId 和 Current.ProjectId 松散了那里的价值观或其他东西。请帮助

这是我的设置方式

我的图表扩展

    public class ProjectTaskEntryExt : PXGraphExtension<ProjectTaskEntry>
{

    public PXSelect<UsrMAXXTaskEmployees,
        Where<UsrMAXXTaskEmployees.projectID, Equal<Current<PMTask.projectID>>,
            And<UsrMAXXTaskEmployees.taskID, Equal<Current<PMTask.taskID>>>>> BudgetEmployees;





    #region Event Handlers

    protected void UsrMAXXTaskEmployees_RowInserting(PXCache cache, PXRowInsertingEventArgs e, PXRowInserting InvokeBaseHandler)
    {
        if (InvokeBaseHandler != null)
            InvokeBaseHandler(cache, e);
        var row = (UsrMAXXTaskEmployees)e.Row;

        if (row != null)
        {
            row.ProjectID = Base.Task.Current.ProjectID;
            row.TaskID = Base.Task.Current.TaskID;

        }
    }

    public override void Initialize()
    {
        base.Initialize();

    }


    #endregion
}

这是我为 table

定制的 dac
    public class UsrMAXXTaskEmployees : IBqlTable
{

    #region Selected
    public abstract class selected : IBqlField
    { }
    [PXBool]
    [PXUIField(DisplayName = "Selected")]
    public virtual bool? Selected { get; set; }
    #endregion

    #region ID
    public abstract class iD : PX.Data.IBqlField
    {
    }
    protected int? _ID;
    [PXDBIdentity(IsKey = true)]
    [PXUIField(Enabled = false)]
    public virtual int? ID
    {
        get
        {
            return this._ID;
        }
        set
        {
            this._ID = value;
        }
    }
    #endregion

    #region EmployeeID
    public abstract class employeeId : PX.Data.IBqlField
    {
    }
    protected String _EmployeeId;
    [PXDBString()]
    [PXUIField(DisplayName = "Employee")]
    [PXSelector(
        typeof(Search<PX.Objects.EP.EPEmployee.acctCD>),
        typeof(PX.Objects.EP.EPEmployee.acctCD),
        typeof(PX.Objects.EP.EPEmployee.acctName),
        DescriptionField = typeof(PX.Objects.EP.EPEmployee.acctName))]
    public virtual String EmployeeId
    {
        get
        {
            return this._EmployeeId;
        }
        set
        {
            this._EmployeeId = value;
        }
    }
    #endregion

    #region StartDate
    public abstract class startDate : PX.Data.IBqlField
    {
    }
    protected DateTime? _StartDate;
    [PXDBDate()]
    [PXDefault(typeof(AccessInfo.businessDate))]
    [PXUIField(DisplayName = "Start Date")]
    public virtual DateTime? StartDate
    {
        get
        {
            return this._StartDate;
        }
        set
        {
            this._StartDate = value;
        }
    }
    #endregion

    #region EndDate
    public abstract class endDate : PX.Data.IBqlField
    {
    }
    protected DateTime? _EndDate;
    [PXDBDate()]
    [PXUIField(DisplayName = "End Date")]
    public virtual DateTime? EndDate
    {
        get
        {
            return this._EndDate;
        }
        set
        {
            this._EndDate = value;
        }
    }
    #endregion

    #region ProjectID
    public abstract class projectID : PX.Data.IBqlField
    {
    }
    protected int? _ProjectID;
    [PXDBInt()]
    [PXDBDefault(typeof(PX.Objects.PM.PMProject.contractID))]
    [PXUIField(DisplayName = "Project")]
    public virtual int? ProjectID
    {
        get
        {
            return this._ProjectID;
        }
        set
        {
            this._ProjectID = value;
        }
    }
    #endregion

    #region TaskID
    public abstract class taskID : PX.Data.IBqlField
    {
    }
    protected int? _TaskID;
    [PXDBInt()]
    [PXDefault(0)]
    [PXUIField(DisplayName = "Task")]
    public virtual int? TaskID
    {
        get
        {
            return this._TaskID;
        }
        set
        {
            this._TaskID = value;
        }
    }
    #endregion

}

我将网格的高度设置为 100%,这是其他选项卡网格的设置。但是一旦我将它设置为固定值,如 300px,行就不会再消失了。

请检查您的网格是否启用了 AutoSize 以及 SkinID 是否设置为 DetailsInTab:

<px:PXGrid ID="gridNS" runat="server" SkinID="DetailsInTab" Width="100%" Height="150px" Caption="Mailings" AdjustPageSize="Auto" AllowPaging="True" DataSourceID="ds">
    <AutoSize Enabled="True" />
    <AutoCallBack Target="gridNR" Command="Refresh" />
    <Levels>
        <px:PXGridLevel DataMember=“NotificationSources" DataKeyNames="SourceID,SetupID">
            <Columns>
            ...
            </Columns>
        </px:PXGridLevel>
    </Levels>
</px:PXGrid>