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);
}
}