Zoeken…


Invoering

Dit onderwerp leidt u door verschillende opties die beschikbaar zijn in het Acumatica Framework om datum- en tijdvelden in een gegevenstoegangsklasse (DAC) te maken.

Het PX (DB) DateAndTime-kenmerk

Het kenmerk PXDBDateAndTime en het kenmerk PXDateAndTime zijn ontworpen om te werken met een DAC-veld van het type Nullable<DateTime> ( DateTime? ) En slaan zowel datum- als tijdwaardeonderdelen op in één veld:

#region UsrDateAndTime
public abstract class usrDateAndTimeAttribute : IBqlField
{ }

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

Vanuit het UI-perspectief wordt voor een veld versierd met PXDBDateAndTimeAttribute of PXDateAndTimeAttribute verwacht dat ofwel afzonderlijke invoerbesturingselementen voor datum- en tijdwaardedelen worden gemaakt:

voer hier de afbeeldingsbeschrijving in

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

of afzonderlijke rasterkolommen om datum- en tijdwaarden in te voeren en weer te geven:

voer hier de afbeeldingsbeschrijving in

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

Het PXDBTime-kenmerk

Het kenmerk PXDBTime is ontworpen om te werken met een DAC-veld van het type Nullable<DateTime> ( DateTime? ) En slaat alleen het tijdgedeelte zonder datum op in een DAC-veld:

#region UsrTime
public abstract class usrTime : IBqlField
{ }

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

In de gebruikersinterface maakt het systeem voor een veld dat is versierd met PXDBTimeAttribute een invoerbesturingselement dat alleen tijdwaarden accepteert op een formulier:

voer hier de afbeeldingsbeschrijving in

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

en binnen een rastercel:

voer hier de afbeeldingsbeschrijving in

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

Het PX (DB) DateAttribute-kenmerk

Het kenmerk PXDBDate en het kenmerk PXDate zijn ontworpen om te werken met een DAC-veld van het type Nullable<DateTime> ( DateTime? ) En slaan de datumwaarde op met een optioneel tijdgedeelte binnen een enkel veld. Wheather PX (DB) DateAttribute moet tijd besparen naast dat datum in een DAC-veld wordt gedefinieerd door de eigenschap PreserveTime : wanneer PreserveTime is ingesteld op True , blijft het tijdgedeelte van een veldwaarde behouden, anders wordt alleen het datumgedeelte opgeslagen in een DAC-veld:

#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

In de gebruikersinterface maakt het systeem voor een veld versierd met PXDBDateAttribute of PXDateAttribute een invoerbesturingselement dat alleen datumwaarden of zowel datum- als tijdwaarden accepteert, afhankelijk van de waarde van de eigenschap PreserveTime . Dit concept werkt precies hetzelfde op een formulier:

voer hier de afbeeldingsbeschrijving in

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

en binnen een rastercel:

voer hier de afbeeldingsbeschrijving in

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

Het kenmerk PXDBTimeSpan

Het kenmerk PXDBTimeSpan is ontworpen om te werken met een DAC-veld van het type Nullable<int> ( int? ) En tijdwaarde op te slaan in een DAC-veld als het aantal minuten dat is verstreken sinds middernacht:

#region UsrTimeInt
public abstract class usrTimeInt : IBqlField
{ }

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

In de gebruikersinterface maakt het systeem voor een veld versierd met PXDBTimeSpanAttribute een vervolgkeuzelijst met intervalwaarden van een half uur, beide op een formulier:

voer hier de afbeeldingsbeschrijving in

en binnen een rastercel:

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

voer hier de afbeeldingsbeschrijving in

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

Het kenmerk PXTimeList

Het kenmerk PXTimeList is ontworpen om te werken met een DAC-veld van het type Nullable<int> ( int? ) En om een tijdsduur binnen een DAC-veld op te slaan als een aantal minuten:

#region UsrTimeSpan
public abstract class usrTimeSpan : IBqlField
{ }

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

In de gebruikersinterface maakt het systeem voor een veld versierd met PXTimeListAttribute een vervolgkeuzelijst met 30-minuten intervalwaarden, beide op een formulier:

voer hier de afbeeldingsbeschrijving in

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

en binnen een rastercel:

voer hier de afbeeldingsbeschrijving in

<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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow