为了账号安全,请及时绑定邮箱和手机立即绑定

如何设置字段更新值

如何设置字段更新值

C#
偶然的你 2023-07-09 16:41:13
您好,我的自定义项目仍然存在问题,我正在使用 acumatica,我需要在 pxselect 或字段更新上获取相应的字段,您可以向我展示一种执行此操作的方法吗?我已经尝试了我在这里学到的所有内容。这是我创建的代码public class APTranExt : PXCacheExtension<PX.Objects.AP.APTran>        {            #region UsrWholdingATC            [PXDBString(10)]            [PXUIField(DisplayName = "WholdingATC")]            [PXSelector(            typeof(Search<withholdingtaxx.atc>),                typeof(withholdingtaxx.taxRate))]            public virtual string UsrWholdingATC { get; set; }            public abstract class usrWholdingATC : PX.Data.BQL.BqlString.Field<usrWholdingATC> { }            #endregion            #region UsrWholdingrate            [PXDBDecimal]            [PXUIField(DisplayName = "Wholdingrate")]            public virtual Decimal? UsrWholdingrate { get; set; }            public abstract class usrWholdingrate : PX.Data.BQL.BqlDecimal.Field<usrWholdingrate> { }            #endregion            #region UsrWholdingamount            [PXDBDecimal]            [PXUIField(DisplayName = "WholdingAmount")]            public virtual Decimal? UsrWholdingamount { get; set; }            public abstract class usrWholdingamount : PX.Data.BQL.BqlDecimal.Field<usrWholdingamount> { }            #endregion这里的一切工作正常我成功创建了一个自定义表格,来自 pxselector 的显示表格所以我需要的是,当我选择 atc value 时,我还需要拉动税率并将其放在 wholdingrate 字段中,谢谢您的帮助顺便说一句,我尝试在此处放置一些代码,但当我在调试模式下运行时,它不会命中字段更新protected void APTran_UsrWholdingATC_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)    {      var row = (APTran)e.Row;    }
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

当我在调试模式下运行时,它不会命中字段更新

通常发生这种情况是因为字段编辑器控件没有将属性CommitChanges设置为True

//img1.sycdn.imooc.com//64aa72ee00013a8613900696.jpg

当在编辑器控件上CommitChanges设置为时,当用户更改值后控件失去焦点时将调用该事件:TrueFieldUpdated


protected void APTran_UsrWholdingATC_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)

{

  APTran tran = e.Row as APTran;


  if (tran != null)

  {

    APTranExt tranExt = tran.GetExtension<APTranExt>();


    if (tranExt != null)

    {

       decimal? value = [...];

       cache.SetValue<APTranExt.usrWholdingrate>(tran, value);

    }

  }

}


查看完整回答
反对 回复 2023-07-09
  • 1 回答
  • 0 关注
  • 70 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信