サーバーへのコールバックを減らすために、行選択イベントはありません。代わりに、PXToolbarButton StateColumnプロパティがボタンを有効にした状態を制御します。
ボタンを宣言すると、その値に基づいてボタンを有効または無効にするBoolean DACフィールドを指定します。ボタンが選択された行を取得するには、グリッドのIDに設定されDependOnGridプロパティを必要としていることに注意してください:
<px:PXToolBarButton Text="Button A" DependOnGrid="grid" StateColumn="IsButtonVisible">
IsButtonVisibleはカスタム結合していないブールDACフィールドですisSelected /選択を除いて(あなたがあるあなたが望む任意の名前を選択することができます)チェックボックスのために予約:だから
protected virtual void DAC_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
DAC row = e.Row as DAC;
if (row != null)
{
bool yourCondition = ???;
row.IsButtonVisible = yourCondition;
}
}
:
#region IsButtonVisible
public abstract class isButtonVisible : IBqlField
{
}
protected bool? _IsButtonVisible;
[PXBool]
[PXUIField(DisplayName = "Is Button Visible", Enabled = false, Visible = false)]
public virtual bool? IsButtonVisible
{
get
{
return _IsButtonVisible;
}
set
{
_IsButtonVisible = value;
}
}
#endregion
あなたはあなたのビジネスロジックに基づいてRowSelectedイベントにIsButtonVisibleの値を設定することができますurce: Enable disable button of grid or PXToolBarButton, which depends from value of column in Acumatica
こんにちは@HB_ACUMATICA、あなたの迅速な回答をいただきありがとうございます! – ukalpa
こんにちは@HB_ACUMATICA、私はあなたのソリューションを試して、それは動作しないようです。 stateColumnをtrueまたはfalseに設定しても、ボタンは有効になります。それ以上の提案はありますか? – ukalpa
こんにちは@HB_ACUMATICA、RowSelectedでIsButtonVisibleの値を割り当てるのが正しいかどうか確認してください。私は問題がここにあると仮定します。 – ukalpa