2012-08-07 109 views
8

使用DevExpress的GridView時,我想在選擇單元格(或單擊)時觸發(客戶端)事件。DevExpress MVC GridView - 如何獲取單元格單擊事件

已經有一種方法可以獲得整行的點擊事件,但是既沒有弄清楚,也沒有提供給我任何線索如何爲單元實現這一點。

這就是我對行:

Html.DevExpress().GridView(settings => 
{ 
    // removed a lot of code here 
    settings.ClientSideEvents.RowDblClick = "OnGridRowDblClick"; 
}).Bind(Model).GetHtml() 

這將導致javascript函數OnGridRowDblClick當行被雙擊被調用。理想情況下,應該像

settings.ClientSideEvents.CellClick = "OnCellClick";

然而,這並不存在,也可以找到任何東西來實現這一目標。

回答

12

有可能通過處理附加爲個人DATACELL所需的客戶端處理程序GridViewSettings.HtmlDataCellPrepared事件:

function OnCellClick(visibleIndex, fieldName) { 
    alert(visibleIndex + " " + fieldName); 
} 


@Html.DevExpress().GridView(settings => { 
    ... 
    settings.HtmlDataCellPrepared = (sender, e) => { 
     e.Cell.Attributes.Add(
      "onclick", 
      string.Format("OnCellClick('{0}', '{1}');", e.VisibleIndex, e.DataColumn.FieldName) 
     ); 
    }; 

}).Bind(Model).GetHtml() 
+0

你是一個生活金丹!由於所有元素都生成了,我也沒有找到設置onclick事件的方法。此外,這允許我只將它放在合適的單元格上,因爲處理程序還允許發生一些邏輯。謝謝! – 2012-08-08 08:14:04

+0

如果在行單擊時調用了myGridView.StartEditRow(),則這不起作用。即使進入編輯模式後如何獲得單元格單擊事件? – 2017-05-16 12:20:27

相關問題