サーチ…


前書き

このトピックでは、データアクセスクラス(DAC)の日付と時刻のフィールドを作成するAcumatica Frameworkのさまざまなオプションについて説明します。

PX(DB)DateAndTime属性

PXDBDateAndTime属性とPXDateAndTime属性は、 Nullable<DateTime>DateTime? )型のDACフィールドで動作し、日付と時刻の両方の値の部分を単一のフィールドに格納するように設計されています。

#region UsrDateAndTime
public abstract class usrDateAndTimeAttribute : IBqlField
{ }

[PXDBDateAndTime(
    DisplayNameDate = "Date Value Part",
    DisplayNameTime = "Time Value Part")]
public DateTime? UsrDateAndTime { get; set; }
#endregion

UIの観点から見ると、 PXDBDateAndTimeAttributeまたはPXDateAndTimeAttribute修飾されたフィールドの場合、日付と時刻の値の部分に対して個別の入力コントロールを作成する必要があります。

ここに画像の説明を入力

<px:PXDateTimeEdit runat="server" ID="edUsrDate" DataField="UsrDateAndTime_Date" />
<px:PXDateTimeEdit runat="server" ID="edUsrTime" DataField="UsrDateAndTime_Time" TimeMode="True" />

またはグリッド列を区切って、日付と時刻の値を入力して表示します。

ここに画像の説明を入力

<Columns>
    ...
    <px:PXGridColumn DataField="UsrDateAndTime_Date" Width="90px" />
    <px:PXGridColumn DataField="UsrDateAndTime_Time" Width="90px" TimeMode="True" />
    ...
</Columns>

PXDBTime属性

PXDBTime属性は、 Nullable<DateTime>DateTime? )型のDACフィールドで動作し、DACフィールド内に日付のない時間部分のみを格納するように設計されています。

#region UsrTime
public abstract class usrTime : IBqlField
{ }

[PXDBTime(DisplayMask = "t", InputMask = "t")]
[PXUIField(DisplayName = "Time Only Value")]
public DateTime? UsrTime { get; set; }
#endregion

UIでは、 PXDBTimeAttribute修飾されたフィールドの場合 、システムは両方のフォームで時間値のみを受け入れる入力コントロールを作成します。

ここに画像の説明を入力

<px:PXDateTimeEdit runat="server" ID="edUsrTime" DataField="UsrTime" TimeMode="True" />

グリッドセル内:

ここに画像の説明を入力

<Columns>
    ...
    <px:PXGridColumn DataField="UsrTime" Width="120px" TimeMode="True" />
    ...
</Columns>

PX(DB)DateAttribute属性

PXDBDate属性とPXDate属性は、 Nullable<DateTime>DateTime? )型のDACフィールドと動作し、オプションの時刻部分を含む単一のフィールド内に日付値を格納するように設計されています。 PX(DB)DateAttributeは DACフィールドの日付に加えて、時間を節約するべきWheather 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>

PXDBTimeSpan属性

PXDBTimeSpan属性は、 Nullable<int>int? )型のDACフィールドで動作し、深夜から経過した分数としてDACフィールドに時間値を格納するように設計されています。

#region UsrTimeInt
public abstract class usrTimeInt : IBqlField
{ }

[PXDBTimeSpan(DisplayMask = "t", InputMask = "t")]
[PXUIField(DisplayName = "Time Value")]
public int? UsrTimeInt { get; set; }
#endregion

UIでは、 PXDBTimeSpanAttributeで装飾されたフィールドに対して、フォーム上に30分間隔の値を持つドロップダウンが作成されます。

ここに画像の説明を入力

グリッドセル内:

<px:PXDateTimeEdit runat="server" ID="edUsrTimeInt" DataField="UsrTimeInt" TimeMode="true" />

ここに画像の説明を入力

<px:PXGridColumn DataField="UsrTimeInt" Width="90px" TimeMode="true" />

PXTimeList属性

PXTimeList属性は、 Nullable<int>int? )型のDACフィールドで動作し、DACフィールド内のタイムスパン値を分単位で格納するように設計されています。

#region UsrTimeSpan
public abstract class usrTimeSpan : IBqlField
{ }

[PXDBInt]
[PXTimeList]
[PXUIField(DisplayName = "Time Span")]
public int? UsrTimeSpan { get; set; }
#endregion

UIでは、 PXTimeListAttribute修飾されたフィールドに対して、フォーム上に30分間隔の値を持つドロップダウンが作成されます。

ここに画像の説明を入力

<px:PXTimeSpan ID="edUsrTimeSpan" runat="server" DataField="UsrTimeSpan" InputMask="hh:mm" />

グリッドセル内:

ここに画像の説明を入力

<RowTemplate>
    ...
    <px:PXTimeSpan ID="edgUsrTimeSpan" runat="server" DataField="UsrTimeSpan" InputMask="hh:mm" />
    ...
</RowTemplate>
<Columns>
...
    <px:PXGridColumn DataField="UsrTimeSpan" Width="90px" RenderEditorText="True" />
...
</Columns>


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow