You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IN407010界面自定义usr字段只读,添加数据列无法编辑的技术求助

IN407010界面自定义USR字段只读无法编辑,RowSelected事件设置无效

问题详情

在IN407010界面添加自定义usrConvtonne字段后,该字段始终处于只读状态无法输入。已尝试在TurnoverCalcItem_RowSelected事件中添加代码开启编辑权限,但问题仍未解决:

protected void TurnoverCalcItem_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
{
  
  var row = (TurnoverCalcItem)e.Row;
  if (row==null) return;
  PXUIFieldAttribute.SetEnabled<TurnoverCalcItemExt.usrConvtonne>(cache, row, true);  
  Base.TurnoverCalcItems.AllowUpdate = true;
  Base.TurnoverCalcItems.Cache.AllowUpdate = true;
  Base.TurnoverCalcItems.AllowSelect = true;
  Base.TurnoverCalcItems.Cache.AllowSelect= true;
}

界面截图:
IN407010界面自定义字段只读状态

解决建议

  • 检查DAC字段定义:确认自定义字段在DAC扩展中未标记ReadOnly属性,且PXUIField的Enabled设为true:

    public class TurnoverCalcItemExt : PXCacheExtension<TurnoverCalcItem>
    {
      [PXDBDecimal]
      [PXUIField(DisplayName = "转换为吨", Enabled = true)]
      public decimal? UsrConvtonne { get; set; }
      public abstract class usrConvtonne : PX.Data.BQL.BqlDecimal.Field<usrConvtonne> { }
    }
    
  • 改用SetReadOnly方法:替换SetEnabled为SetReadOnly明确设置字段可编辑,避免界面其他逻辑干扰:

    PXUIFieldAttribute.SetReadOnly<TurnoverCalcItemExt.usrConvtonne>(cache, row, false);
    
  • 检查容器权限:确认IN407010页面中TurnoverCalcItems对应的Grid容器已设置AllowUpdate="True",容器只读会直接限制字段编辑。

  • 排查用户权限组:在系统权限设置中,确认当前用户权限组已授予该自定义字段的更新权限。

  • 检查其他事件冲突:排查是否有RowUpdated、FieldUpdated等其他事件或业务逻辑,在后续流程中重置了字段的只读状态。


内容的提问来源于stack exchange,提问作者Xavier LARTEM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:56:19