【问题标题】:Telerik radgrid and GridClientSelectColumn how to use "click" instead of "ctrl click")Telerik radgrid 和 GridClientSelectColumn 如何使用“click”而不是“ctrl click”)
【发布时间】:2012-03-01 11:45:36
【问题描述】:

我有一个 Telerik radgrid 并添加了一个 GridClientSelectColumn 以允许用户选择单行或多行,但默认是 ctrl 单击以选择多个。

我想要以下功能,而不必用我自己的 javascript 覆盖它。

  • 用户点击行并选中复选框
  • 用户点击选中的行且复选框未选中
  • 用户单击行,然后单击另一行。两个复选框都被选中。
  • 用户不必使用“ctrl click”

有没有简单的方法可以做到这一点?

【问题讨论】:

    标签: telerik telerik-grid multi-select


    【解决方案1】:

    我在 Telerik 论坛的帮助下解决了这个问题。

    Forum post

    将以下代码添加到 RadCodeBlock

    var originalClickedRowState = null;
    var clickedRow = null;
    
    function rgGrid_OnRowClick(sender, args) {
        clickedRow = args.get_gridDataItem();
        originalClickedRowState = args.get_gridDataItem().get_selected();
    }
    
    function rgGrid_OnRowDeselecting(sender, args) {
        if (clickedRow != null && clickedRow != args.get_gridDataItem()) {
                args.set_cancel(true);
        }
    }
    
    function rgGrid_OnRowSelecting(sender, args) {
        if (clickedRow == args.get_gridDataItem() && originalClickedRowState) {
            args.set_cancel(true);
            originalClickedRowState = null;
            clickedRow = null;
        }
    }
    
    function rgGrid_OnRowSelected(sender, args) {
        originalClickedRowState = null;
        clickedRow = null;
    }
    

    一个问题是您需要在网格 ClientSettings.ClientEvents 中连接 OnRowCreatingOnRowCreated 事件

    function OnRowCreating(sender, args) {}
    function OnRowCreated(sender, args) {}
    

    【讨论】:

    • 全选仍然有效。这只是消除了按 ctrl 单击选择许多 chackboxes 的需要
    猜你喜欢
    • 2015-07-16
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多