我有一个telerik radgrid并添加了一个GridClientSelectColumn以允许用户选择单行或多行,但默认情况下是ctrl单击以选择多行。
我想要以下功能,而不必使用我自己的javascript覆盖它。
有一种简单的方法吗?
答案 0 :(得分:3)
我在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;
}
问题是你需要在网格ClientSettings.ClientEvents中连接 OnRowCreating 和 OnRowCreated 事件
function OnRowCreating(sender, args) {}
function OnRowCreated(sender, args) {}