Telerik Radgrid и GridClientSelectColumn, как использовать «щелчок» вместо «щелчок Ctrl») - PullRequest
2 голосов
/ 01 марта 2012

У меня есть Telerik Radgrid, и я добавил GridClientSelectColumn, чтобы позволить пользователям выбирать одну или несколько строк, однако по умолчанию это нажатие Ctrl, чтобы выбрать несколько.

Мне нужны следующие функции без необходимости переопределять это с помощью моего собственного javascript.

  • Пользователь щелкает строку и флажок установлен
  • Пользователь нажимает флажок строки и флажокне отмечен
  • Пользователь щелкает строку, а затем другую строку.установлены оба флажка.
  • Пользователю не нужно использовать "ctrl click"

Есть ли простой способ сделать это?

1 Ответ

3 голосов
/ 08 марта 2012

Мне удалось это с помощью форума 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;
}

AСуть в том, что вам нужно подключить события OnRowCreating и OnRowCreated в сетках ClientSettings.ClientEvents

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