2016-03-28 86 views
3

我有ASPxGridView來查看記錄列表。從視圖中,我創建了一個刪除列,並希望在記錄確實具有滿足條件時顯示刪除按鈕。代碼如下:有條件地隱藏GridViewCommandColumn中的DeleteButton

<dx:GridViewCommandColumn Caption="Delete" VisibleIndex="1" Width="30px" 
       meta:resourcekey="GridViewCommandColumnResource1"> 
       <DeleteButton Visible="True"> 
       </DeleteButton> 
      </dx:GridViewCommandColumn> 

所以我專注於DeleteButton的Visible屬性。該條件必須返回一個布爾值,以便知道何時顯示和隱藏刪除按鈕。下面是一個例子如何實現這一點:

<DeleteButton Visible='<%# ShowHide(Eval("Active")) %>'> 
       </DeleteButton> 

在VB代碼:

Protected Function ShowHide(Active As Boolean) As Boolean 
    Return Active 
End Function 

因此函數需要返回真值,如果主動是真,假值,如果活動是假的。換句話說,如果記錄具有滿足條件,我會在每個記錄的後面觸發代碼中的函數,以使其顯示刪除按鈕。但我在最後的錯誤消息:

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. 

我卡在那裏,不知道其他的方式來做到這一點。請幫我解決一下這個。

+0

請點擊此處鏈接:http://stackoverflow.com/questions/1461302/conditionally-hide-commandfield-or-buttonfield-in-gridview –

+0

謝謝。但是這個問題關注於aspxgridview,而不是aspgridview。 –

回答

1

一晚後對這項研究中,我必須找到解決這一問題的新方法:

這從aspx文件的代碼塊中的ASPxGridView內:

<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> 

從代碼behide,我執行來處理得樂的觸發的初始方法teButton:

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 

的方法將通過檢查命令按鈕初始化活動值處理DeleteButton。如果Active爲True,它將隱藏DeleteButton,反之亦然。

0

你既可以處理ASPxClientGridView.CustomButtonClick Event如下所示:Link或將您的自定義控制到GridViewDataColumn.DataItemTemplateLink

+0

用戶點擊後處理事件。但是,如何處理首次加載視圖的事件? –