2014-11-18 2 views
0

У меня есть jqgrid, в котором у меня есть выделенная ячейка (Ctrl), которая находится в желтой подсветке.Очистить выделение нескольких ячеек при нажатии кнопки jqgrid

Теперь на кнопке щелкните, чтобы очистить выделенную ячейку. Но если строка выбрана, она должна быть одинаковой. Нужно только выделить ячейку, которую нужно удалить.

Любые возможности?

ответ

1

Кажется, это небольшая модификация ответа на ваш предыдущий вопрос. Если mySelection параметр содержит информацию о выбранных клетках, то можно отменить выбор ячейки в следующем обработчика событий:

$("#clearCellSelection").button().click(function() { 
    var key, item, $td, rows = $grid[0].rows, p = $grid.jqGrid("getGridParam"), 
     mySelection = p.mySelection, 
     idPrefix = p.idPrefix; 

    // click without Ctrl key pressed 
    // we need unselect all 
    for (key in mySelection) { 
     if (mySelection.hasOwnProperty(key)) { 
      item = mySelection[key]; 
      $td = $(rows.namedItem(idPrefix + item.id).cells[item.indexOfColumn]); 
      $td.removeClass("ui-state-highlight").removeAttr("aria-selected"); 
     } 
    } 
    p.mySelection = {}; 
}); 

Соответствующий модифицированная демо here.

Следует быть осторожным, если сетка содержит sortable: true или columnChooser позволяет пользователю изменять порядок столбцов. В случае нельзя использовать свойство indexOfColumn выбранной информации о ячейке. Вместо этого нужно использовать свойство colName и найти индекс столбца с именем colName в colModel. Индекс должен использоваться вместо indexOfColumn.

+0

Просто превосходный Олег. Я рад, что вы ответили на последний вопрос, который я задал вам. Большое спасибо!!! – iamCR

+0

@SanthoshKumar: Добро пожаловать! – Oleg

+0

Можете ли вы посмотреть на это? http://stackoverflow.com/questions/27009476/retain-filter-text-in-filter-toolbar-on-grid-reload – iamCR

Смежные вопросы