突出显示行时是否触发任何事件?

时间:2017-12-18 22:10:49

标签: acumatica

我创建了一个ListView来显示文档列表,然后创建了一个按钮"按钮A"要做一些动作,我的要求是我希望按钮状态可能会随着所选文档的更改而改变。

Fox示例:下图中有三个文档,我希望当我单击Order-00001或Order-00002时按钮被启用,并且由于没有钱,它被禁用了Order-00003。

enter image description here

如果在点击一行时有任何事件可以提出,我很感激你能给我一个提示。非常感谢。

1 个答案:

答案 0 :(得分:2)

为了减少对服务器的回调,没有选择行的事件。而是有PXToolbarButton StateColumn属性来控制按钮启用状态。

当您声明按钮时,您指定一个布尔DAC字段,该字段将根据其值启用/禁用该按钮。请注意,该按钮需要将DependOnGrid属性设置为网格的ID才能获取所选行:

Sub CopyPasteSheetAsValues()
'Copy and Paste Summary Sheet as Values
Sheets("Summary Build").Cells.Copy
Sheets("Summary Build").Cells.PasteSpecial Paste:=xlPasteValue
End Sub

IsButtonVisible是一个自定义的未绑定布尔DAC字段(您可以选择任何您想要的名称,除了isSelected / Selected,它是为复选框保留的):

<px:PXToolBarButton Text="Button A" DependOnGrid="grid" StateColumn="IsButtonVisible">

您可以根据业务逻辑在RowSelected事件中设置IsButtonVisible的值:

#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

来源: Enable disable button of grid or PXToolBarButton, which depends from value of column in Acumatica