Vb.net 有条件地隐藏GridViewCommandColumn中的DeleteButton

Vb.net 有条件地隐藏GridViewCommandColumn中的DeleteButton,vb.net,aspxgridview,Vb.net,Aspxgridview,我使用ASPxGridView查看记录列表。从视图中,我创建了一个delete列,并希望它在记录有满足条件时显示delete按钮。代码如下: <dx:GridViewCommandColumn Caption="Delete" VisibleIndex="1" Width="30px" meta:resourcekey="GridViewCommandColumnResource1"> <DeleteButton

我使用ASPxGridView查看记录列表。从视图中,我创建了一个delete列,并希望它在记录有满足条件时显示delete按钮。代码如下:

<dx:GridViewCommandColumn Caption="Delete" VisibleIndex="1" Width="30px"
                meta:resourcekey="GridViewCommandColumnResource1">
                <DeleteButton Visible="True">
                </DeleteButton>
            </dx:GridViewCommandColumn>
因此,如果Active为真,函数需要返回真值;如果Active为假,函数需要返回假值。换句话说,我确实会在每个记录上触发一个代码隐藏函数,如果记录确实有一个满足条件,它就会显示delete按钮。但最后我收到了一条错误信息:

Parser Error Message: Databinding expressions are only supported on objects that have a DataBinding event. DevExpress.Web.ASPxGridView.GridViewCommandColumnButton does not have a DataBinding event.

我被困在那里,不知道其他方法。请帮我解决这个问题。

您可以处理
ASPxClientGridView.CustomButtonClick事件,如下所示:或者将自定义控件放入
GridViewDataColumn.DataItemTemplate

经过一个晚上的研究,我找到了一种新方法来解决这个问题:

ASPxGridView中aspx文件中的这段代码:

<dx:GridViewCommandColumn Caption="Delete" VisibleIndex="1" Width="30px"
                meta:resourcekey="GridViewCommandColumnResource1">
                <DeleteButton Visible='True'><!--TRI - 20160329 Please make sure the Visible attribute always True-->
                </DeleteButton>
            </dx:GridViewCommandColumn>

该方法将通过检查命令按钮初始化上的活动值来处理DeleteButton。如果激活的为真,它将隐藏Delete按钮,反之亦然。

点击此处链接:谢谢。但是这个问题关注的是aspxgridview,而不是aspgridview。事件在用户单击后处理。但是第一次加载视图时要处理的事件如何?
Parser Error Message: Databinding expressions are only supported on objects that have a DataBinding event. DevExpress.Web.ASPxGridView.GridViewCommandColumnButton does not have a DataBinding event.
<dx:GridViewCommandColumn Caption="Delete" VisibleIndex="1" Width="30px"
                meta:resourcekey="GridViewCommandColumnResource1">
                <DeleteButton Visible='True'><!--TRI - 20160329 Please make sure the Visible attribute always True-->
                </DeleteButton>
            </dx:GridViewCommandColumn>
Protected Sub xgv_CommandButtonInitialize(sender As Object, e As DevExpress.Web.ASPxGridView.ASPxGridViewCommandButtonEventArgs) Handles xgv.CommandButtonInitialize
    If e.ButtonType = DevExpress.Web.ASPxGridView.ColumnCommandButtonType.Delete Then
        If sender.GetRowValues(e.VisibleIndex, "Active") = True Then
            e.Visible = False
        End If
    End If
End Sub