Acumatica 21 R2:如何修改PXDBTime属性时间选择器的分钟步长
Acumatica 21 R2 时间选择器步长修改指南
自定义时间选择器步长的方法
要把默认30分钟的步长改成60分钟(或其他值),需要通过前端配置调整,具体有两种方式:
方式一:通过ASPX控件属性直接设置
如果是自定义页面,找到对应的PXTimeEdit控件,直接添加Step属性,值为秒数(比如60分钟对应3600秒):
<px:PXTimeEdit ID="edYourTimeField" runat="server" DataField="YourTimeField" Step="3600" />
方式二:通过JS脚本注入修改(适用于标准DAC字段)
- 在DAC的时间字段上添加
PXClientScript属性,指定自定义JS文件路径:
[PXDBTime(DisplayMask = "t", UseTimeZone = false)] [PXClientScript(typeof(YourDAC), "~/Scripts/CustomTimeStep.js")] public virtual DateTime? YourTimeField { get; set; }
- 编写
CustomTimeStep.js文件,找到目标时间输入框并修改step属性:
(function() { // 替换成实际的控件ID,格式为"页面ID_字段名" const timeInput = document.getElementById("SOOrder_OrderTime"); if (timeInput) { // 设置步长为3600秒(60分钟),按需改成其他值,比如900秒=15分钟 timeInput.setAttribute("step", "3600"); } })();
修改是否可行
完全可行。Acumatica的时间选择器基于HTML5的<input type="time">控件扩展,原生支持通过step属性自定义时间间隔,只要步长是60的整数倍(对应分钟数)就能生效。
默认30分钟步长的来源
Acumatica框架在封装PXTimeEdit控件时,将默认步长设置为1800秒(30分钟)。这是框架内置的配置,目的是在用户选择灵活性和选项列表的简洁性之间取得平衡。
内容的提问来源于stack exchange,提问作者MikeNIke
相关产品推荐
相关产品推荐

