我想弹出一个智能面板,该面板会在按下确定按钮之前强制输入。我试过将按钮本身设置为禁用,通过PXButton声明将其链接到BLC并将其设置为禁用,然后在BLC中的PXAction / PXButton声明中将PXUIField Enabled = false设置为“假”,但这些都不起作用。每次打开选项弹出窗口时,都会启用“确定”按钮。这是我的代码段:
ASPX:
<px:PXButton Enabled="False" AlignLeft="False" runat="server" ID="CstButton13" Text="OK" CommandSourceID="ds" CommandName="DialogOptionPopupOk" DialogResult="OK"></px:PXButton>
PXAction声明:
public PXAction<PMProject> dialogOptionPopupOk;
[PXUIField(DisplayName = "OK", Enabled = false)]
[PXButton]
public virtual void DialogOptionPopupOk()
{ //No logic needed, only here to handle enable/disable of option popup ok button
}
已选择弹出DAC行:
protected void OptionPopup_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
{
dialogOptionPopupOk.SetEnabled(false);
}
打开时弹出窗口:
答案 0 :(得分:0)
您可以添加一个新的PXBool类型的未绑定字段。 (例如:IsButtonVisible)
然后,您可以在PXButton(ASPX)上使用 Statecolumn 属性和 DependOnGrid 属性:
........
<px:PXPanel runat="server" SkinID="Buttons" ID="CstPanel11">
<px:PXButton runat="server" Text="Add" CommandName="AddRows" DialogResult="OK" CommandSourceID="ds" ID="CstButton12" DependOnGrid="CstPXGrid14" StateColumn="IsButtonVisible" ></px:PXButton>
<px:PXButton runat="server" DialogResult="Cancel" Text="Cancel" ID="CstButton13" ></px:PXButton>
</px:PXPanel>
......
然后,在您的代码上,您可以根据自己的条件以及当前需要更改的(事件处理程序)修改此新的未绑定字段值。
请在此stackoverflow文章中找到有关这些更改的更多信息: