使用DevExpress的GridView,我想在选择(或简单地点击)单元格时触发(客户端)事件.
已经有一种方法可以获得整行的点击事件,但是既没有摆弄也没有文档给我任何线索如何为单元格实现这一点.
这就是我对行的看法:
Html.DevExpress().GridView(settings => { // removed a lot of code here settings.ClientSideEvents.RowDblClick = "OnGridRowDblClick"; }).Bind(Model).GetHtml()
这将导致在双击行时调用javascript函数OnGridRowDblClick.理想情况下应该有类似的东西
settings.ClientSideEvents.CellClick =“OnCellClick”;
但是,这不存在,我也找不到任何东西来实现这一点.
解决方法
通过处理GridViewSettings.HtmlDataCellPrepared事件,可以为单个DataCell附加所需的客户端处理程序:
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()