Telerik radgrid和GridClientSelectColumn如何使用;点击";而不是",;按住ctrl键并单击“)

Telerik radgrid和GridClientSelectColumn如何使用;点击";而不是",;按住ctrl键并单击“),telerik,telerik-grid,multi-select,Telerik,Telerik Grid,Multi Select,我有一个telerik radgrid,并添加了一个GridClientSelectColumn,允许用户选择一行或多行,但默认情况下是ctrl单击选择多行 我想要以下功能,而不必用我自己的javascript覆盖它 用户单击行并选中复选框 用户单击选中的行,复选框未选中 用户单击行,然后单击另一行。两个复选框都已选中 用户不必使用“ctrl单击” 有什么简单的方法可以做到这一点吗?我是在telerik论坛的帮助下完成的 将以下代码添加到RadCodeBlock var originalC

我有一个telerik radgrid,并添加了一个GridClientSelectColumn,允许用户选择一行或多行,但默认情况下是ctrl单击选择多行

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

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

有什么简单的方法可以做到这一点吗?

我是在telerik论坛的帮助下完成的

将以下代码添加到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;
}
一个问题是您需要在grids ClientSettings.ClientEvents中连接OnRowCreatingOnRowCreated事件

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

全选按钮仍然有效。这样就不需要按住ctrl键并单击来选择许多复选框