【问题标题】:Acumatica using images in replace of CheckBoxAcumatica 使用图像代替 CheckBox
【发布时间】:2017-02-09 11:44:13
【问题描述】:

我希望能够单击呈现的按钮并保存新值。

在自定义项目中,当复选框被按下时,图像有一些值。

目前,呈现为按钮的复选框正确显示项目中值的正确图像,但是当单击按钮并且用户保存项目时,值和按钮将恢复到其原始状态。

GIF:http://g.recordit.co/vbe99tL7Q7.gif

如果我删除渲染样式,复选框在项目中正常工作,不显示任何图像。

自定义中是否缺少某些内容?

【问题讨论】:

    标签: acumatica


    【解决方案1】:

    似乎正在使用为复选框定义的 AutoCallBack。每次用户单击代表复选框的按钮时,AutoCallBack 都会从 BLC 调用一个操作。

    Aspx 中的复选框定义:

    <px:PXCheckBox runat="server" ID="chkUsrBoolField" CallbackUpdatable="True" DataField="UsrBoolField" RenderStyle="Button" AlignLeft="True" >
        <AutoCallBack Command="CheckFlag" Target="ds" />
        <UncheckImages Normal="main@Fail" />
        <CheckImages Normal="main@Success" />
    </px:PXCheckBox>
    

    PMProject DAC 和 ProjectEntryExt BLC 扩展:

    public class PMProjectExt : PXCacheExtension<PMProject>
    {
        public abstract class usrBoolField : IBqlField { }
    
        [PXDBBool]
        public bool? UsrBoolField { get; set; }
    }
    
    public class ProjectEntryExt : PXGraphExtension<ProjectEntry>
    {
        public PXAction<PMProject> CheckFlag;
        [PXButton]
        [PXUIField(Visible = false)]
        protected void checkFlag()
        {
            var proj = Base.Project.Current;
            proj.GetExtension<PMProjectExt>().UsrBoolField = 
                !proj.GetExtension<PMProjectExt>().UsrBoolField.GetValueOrDefault();
            Base.Project.Update(proj);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-26
      相关资源
      最近更新 更多