使用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";
但是,这不存在,我也找不到任何可以实现的目标。
答案 0 :(得分:13)
可以通过处理 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()