PX(DB) DateAttribute 屬性
PXDBDate 屬性和 PXDate 屬性被設計成與 Nullable<DateTime>
(DateTime?
)的 DAC 領域工作與單一欄位內的可選的時間部分鍵入和儲存日期值。除了 DAC 欄位中的日期之外,Wheather PX(DB)
DateAttribute 應該節省時間由 PreserveTime 屬性定義 :當 PreserveTime 設定為 True 時,保留欄位值的時間部分,否則只儲存日期部分 DAC 領域:
#region UsrDateTime
public abstract class usrDateTime : IBqlField
{ }
[PXDBDate(PreserveTime = true, InputMask = "g")]
[PXUIField(DisplayName = "DateTime Value")]
public DateTime? UsrDateTime { get; set; }
#endregion
#region UsrDate
public abstract class usrDate : IBqlField
{ }
[PXDBDate]
[PXUIField(DisplayName = "Date Value")]
public DateTime? UsrDate { get; set; }
#endregion
在 UI 中,對於使用 PXDBDateAttribute 或 PXDateAttribute 修飾的欄位,系統會建立一個輸入控制元件,僅接受日期值或同時接受日期和時間值,具體取決於 PreserveTime 屬性的值。這個概念在表單上完全相同:
<px:PXDateTimeEdit runat="server" ID="edUsrDateTime" DataField="UsrDateTime" Size="SM" />
<px:PXDateTimeEdit runat="server" ID="edUsrDate" DataField="UsrDate" />
並在網格單元格內:
<Columns>
...
<px:PXGridColumn DataField="UsrDateTime" Width="130px" />
<px:PXGridColumn DataField="UsrDate" Width="90px" />
...
</Columns>