美好的一天 我目前正在使用[PXDBTimeSpan],但仅限于24小时。 我需要的是能够将小时值设置为100小时以上。 例如:126:11(HHH:mm; 126小时。)
我在[PXTimeSpanLong()]中进行了测试: *格式= TimeSpanFormatType.LongHoursMinutes *我尝试使用输入掩码 *尝试仅使用PXTimeSpanLong并将“时间”模式设置为true。
我在Wiki上查找了有关TimeSpanFormatType的更多信息,但枚举类型尚未记录。 旁注:我正在使用Acumatica ERP创建此字段
答案 0 :(得分:1)
Acumatica页面在绑定到DateTime
字段时使用“天小时分钟”格式,因此您必须使用以下数据类型来遵循该模式:
<px:PXMaskEdit ID="edTimeReaction" runat="server" DataField="TimeReaction"
InputMask="### d\ays ## hrs ## mins" EmptyChar="0" Text="0" />
要获得所需的格式,您将不得不选择其他数据类型,例如String
,它将接受任何文本格式。然后,您将该字段添加为MaskEdit
字段编辑器控件,并应用所需的InputMask
。
答案 1 :(得分:0)
我们已将PXDBTimeSpanLong与LongHoursMinutes格式一起使用。实际上,我们有一些字段可以通过设置来选择格式。只要您在页面上使用PXMaskEdit,LongHoursMinutes就可以正常工作。
在您的DAC的INT字段上:
[PXDBTimeSpanLong(Format = TimeSpanFormatType.LongHoursMinutes)]
然后在您所在字段的页面上:
<px:PXMaskEdit ID="edMyTimeField" runat="server" DataField="MyTimeField" />
示例在左侧显示PXDBTimeSpanLong字段,并在右侧使用简单的PXInt未绑定字段显示相同的值以显示DB值:
示例中使用的完整dac字段:
#region MyTimeField
public abstract class myTimeField : PX.Data.BQL.BqlInt.Field<myTimeField> { }
protected Int32? _MyTimeField;
[PXDBTimeSpanLong(Format = TimeSpanFormatType.LongHoursMinutes)]
[PXDefault(TypeCode.Int32, "0")]
[PXUIField(DisplayName = "LongHoursMinutesField")]
public virtual Int32? MyTimeField
{
get
{
return this._MyTimeField;
}
set
{
this._MyTimeField = value;
}
}
#endregion
#region MyTimeFieldDB
[PXInt]
[PXUIField(DisplayName = "DB Value")]
public virtual Int32? MyTimeFieldDB
{
get
{
return this._MyTimeField;
}
}
#endregion