2017-02-08 11 views
1

レンダリングされたボタンをクリックして新しい値を保存したいと思っています。Acumatica CheckBoxの代わりに画像を使用

カスタマイズプロジェクトには、チェックボックスが押されたときのイメージの値があります。

enter image description here

現在、ボタンとしてレンダリングされたチェックボックスが正しくプロジェクト内の値の正しい画像が表示されますが、ボタンがクリックされたときに、ユーザーが値とボタンが元の状態に戻り、プロジェクトを保存します。

GIF:私はスタイルをレンダリング削除する場合http://g.recordit.co/vbe99tL7Q7.gif

、チェックボックスは、任意の画像を表示せずにプロジェクトで正常に動作します。

カスタマイズに何か不足していますか?

答えて

1

checkBoxに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="[email protected]" /> 
    <CheckImages Normal="[email protected]" /> 
</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); 
    } 
} 
関連する問題