【发布时间】:2017-02-09 02:39:13
【问题描述】:
我创建了一个新表,它是供应商的子表。在这里,我想为每个供应商存储一些日期。下面是表结构(其中CompanyID和RecordID是PrimaryKey,RecordID是Identity with seed 1)-
CREATE TABLE [dbo].[VendorClosedDates](
[CompanyID] [int] NOT NULL,
[RecordID] [int] IDENTITY(1,1) NOT NULL,
[VendorID] [int] NOT NULL,
[VendorCloseDate] [datetime] NOT NULL,
[tstamp] [timestamp] NOT NULL,
[CreatedByID] [uniqueidentifier] NOT NULL,
[CreatedByScreenID] [char](8) NOT NULL,
[CreatedDateTime] [datetime] NOT NULL,
[LastModifiedByID] [uniqueidentifier] NOT NULL,
[LastModifiedByScreenID] [char](8) NOT NULL,
[LastModifiedDateTime] [datetime] NOT NULL,
CONSTRAINT [PK_VendorClosedDates] PRIMARY KEY CLUSTERED
(
[CompanyID] ASC,
[RecordID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
基于此,我创建了一个带有数据视图的自定义项目,并添加了一个带有网格的新选项卡,以显示新表中的所有日期(仅 1 列)。根据我浏览的供应商,这些网格应该刷新并只显示相关数据。但是,由于某种原因,它没有刷新,甚至没有显示任何数据。下面是屏幕截图和一些代码 sn-p 以帮助理解我是如何编写代码的。可能是我错过了一些东西。
网格代码-
<px:PXTabItem Text="Closed Dates">
<Template>
<px:PXGrid runat="server" ID="CstPXGrid79" DataSourceID="ds" SkinID="DetailsInTab" Height="150px" Width="100%" AdjustPageSize="Auto" AllowPaging="True">
<Levels>
<px:PXGridLevel DataMember="ClosedDates">
<Columns>
<px:PXGridColumn DataField="VendorCloseDate" Width="90" /></Columns>
<RowTemplate>
<px:PXDateTimeEdit runat="server" ID="CstPXDateTimeEdit82" DataField="VendorCloseDate" /></RowTemplate></px:PXGridLevel></Levels>
<Mode AllowAddNew="True" AllowDelete="True" AllowUpdate="True" />
<AutoSize MinHeight="1000" /></px:PXGrid></Template></px:PXTabItem>
DAC sn-p-
#region RecordID
public abstract class recordID : PX.Data.IBqlField
{
}
protected int? _RecordID;
[PXDBIdentity(IsKey = true)]
public virtual int? RecordID
{
get
{
return this._RecordID;
}
set
{
this._RecordID = value;
}
}
#endregion
#region VendorID
public abstract class vendorID : PX.Data.IBqlField
{
}
protected int? _VendorID;
[PXDBInt()]
[PXDefault(typeof(Vendor.bAccountID))]
public virtual int? VendorID
{
get
{
return this._VendorID;
}
set
{
this._VendorID = value;
}
}
#endregion
#region VendorCloseDate
public abstract class vendorCloseDate : PX.Data.IBqlField
{
}
protected DateTime? _VendorCloseDate;
[PXDBDate()]
[PXUIField(DisplayName = "Vendor Close Date")]
public virtual DateTime? VendorCloseDate
{
get
{
return this._VendorCloseDate;
}
set
{
this._VendorCloseDate = value;
}
}
#endregion
VendorMaint扩展下的Dataview和Vendor_RowSelecting事件-
[PXViewName("ClosedDates")]
public PXSelect<VendorClosedDates,
Where<VendorClosedDates.vendorID, Equal<Current<Vendor.bAccountID>>>> ClosedDates;
protected virtual void Vendor_RowSelecting(PXCache cache, PXRowSelectingEventArgs e)
{
ClosedDates.View.RequestRefresh();
}
任何建议。
【问题讨论】:
标签: acumatica