2015-04-06 2 views
1

SlickGrid:SlickGrid: определить, выбран ли строка

Есть ли «выбрано»/«IsSelected» или аналогичное свойство для строк сетки?

Если я использую 'grid.getSelectedRows', то строки, кажется, возвращаются в том порядке, в котором они были выбраны (нажаты), не обязательно в том порядке, в котором они отображаются в сетке. Я хочу, чтобы выбранные строки были в видимом порядке, сверху вниз.

Я могу получить каждый элемент с grid.getDataItem, но как определить, выбрана ли строка? Нужны ли свойства для строки, а не элемента данных?

for (var i = 0, ii = grid.getDataLength(); i < ii; i++) { 
var item = grid.getDataItem(i); 
if (!item.selected()) {   <- fails because there is no selected property 
     continue; 
}... 

Спасибо!

+0

Вы пробовали 'grid.getSelectedRows()'? –

+0

Да, спасибо. getSelectedRows возвращает правильные строки, но не всегда в правильном порядке. – AnotherFineMess

ответ

1

Я считаю, что this answer будет тем, что вы ищете, согласно найденным документам here. Макс Бродин прав, предлагая grid.getSelectedRows().

EDIT: Для размещения @ просьбе AnotherFineMess, чтобы иметь это отсортированный сверху вниз в сетке, код должен быть:

var items = grid.getSelectedRows().sort(function(a,b){return a - b}); 
+0

Проблема в том, что список строк, возвращаемых grid.getSelectedRows(), упорядочен в соответствии с порядком, в котором они были выбраны. Я хочу, чтобы список выбранных строк упорядочивался в соответствии с экраном, сверху вниз, независимо от порядка, в котором были выбраны строки. – AnotherFineMess

+0

Почему бы не просто отсортировать его, используя grid.getSelectedRows(). Sort() ;? –

+0

У сетки есть параметры сортировки, да. К сожалению, пользователи не всегда начинаются сверху и щелкают нужными строками. Они клюют и выбирают повсюду, а затем мне нужно поддерживать порядок сортировки в выбранном списке сверху вниз. – AnotherFineMess