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 中,對於使用 PXDBDateAttributePXDateAttribute 修飾的欄位,系統會建立一個輸入控制元件,僅接受日期值或同時接受日期和時間值,具體取決於 PreserveTime 屬性的值。這個概念在表單上完全相同:

StackOverflow 文件

<px:PXDateTimeEdit runat="server" ID="edUsrDateTime" DataField="UsrDateTime" Size="SM" />
<px:PXDateTimeEdit runat="server" ID="edUsrDate" DataField="UsrDate" />

並在網格單元格內:

StackOverflow 文件

<Columns>
    ...
    <px:PXGridColumn DataField="UsrDateTime" Width="130px" />
    <px:PXGridColumn DataField="UsrDate" Width="90px" />
    ...
</Columns>