【问题标题】:DevExpress MVC GridView - How to get cell click eventDevExpress MVC GridView - 如何获取单元格点击事件
【发布时间】:2012-08-07 14:48:59
【问题描述】:

使用 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";

但是,这不存在,我也找不到任何东西来实现这一点。

【问题讨论】:

    标签: asp.net-mvc devexpress


    【解决方案1】:

    可以通过处理 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()
    

    【讨论】:

    • 你是救生员!由于元素都是生成的,我也没有找到设置 onclick-events 的方法。此外,这允许我仅将其放置在适当的单元格上,因为处理程序还允许发生一些逻辑。谢谢!
    • 如果在行点击时调用myGridView.StartEditRow(),这将不起作用。进入编辑模式后如何获取单元格点击事件?
    猜你喜欢
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2017-12-10
    • 2014-09-17
    • 1970-01-01
    相关资源
    最近更新 更多