2012-05-16 61 views
0

我正在使用devexpress for windows應用程序。我有一個devxgrid填充數據,在最後一列,我有一個名爲cancel的超鏈接按鈕。當我點擊取消按鈕時,它會執行一些功能非常強大的功能。之後,相應的取消按鈕應該被禁用。如何使其禁用?任何幫助是極大的讚賞。如何在devexpress gridview中禁用超鏈接按鈕

+0

在'gridview'你可能會使用'datatable'來生成包括行和列的數據網格。您可以刪除最後一列(超鏈接)。因此,找出綁定與datatable網格的代碼並刪除列。如果你可以分享一些代碼,那麼可能會很容易跟蹤這一點。 –

回答

1

有兩種方法來實現這個任務:

  1. 創建兩個ButtonEdit資源庫項目。一個帶有啓用按鈕,另一個帶有禁用按鈕。然後處理GridView.CustomRowCellEdit事件,並根據特定條件將必要的存儲庫項目傳遞給參數e.RepositoryItem。請參閱Assigning Editors to Individual Cells幫助主題以獲取更多信息。

  2. 如果按鈕編輯器有幾個按鈕和他們Enabled國家必須動態地改變,你可以通過處理GridView.CustomDrawCell事件如顯示在下面的DevExpress論壇線程實現這個功能:

    How to display disabled buttons for particular cells within a ButtonEdit column

但是你應該按照第一種方法,在hyperlinkEdit的情況下,爲您實現邏輯與布爾值添加自定義列,這將使你的條件,你是否會顯示啓用或禁用hyperlinkEdit資料庫編輯。

只能讀取通過處理CustomRowCellEdit使編輯:

private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) 
{ 
    if(code goes here) 
     e.RepositoryItem.ReadOnly = true; 
} 

還可以防止編輯

如果你只是想設置這個只讀,那麼你在下面的方式做從處理中顯示ShowingEditor

private void gridView1_ShowingEditor(object sender, CancelEventArgs e) 
{ 
    if (code goes here) 
     e.Cancel = true; 
} 

Hop e這可以幫助你解決你的任務..