2015-12-07 2 views
1

Я в процессе исправления проблемы сортировки в одном из наших приложений, но у меня проблема. Я использую Slick Grid для реализации моей сетки. Текущая функция сортировки на месте (не написанная мной) отлично работает, за исключением 1 оговорки. Он будет сортировать столбцы просто отлично, но я не могу получить свой флажок, чтобы оставаться со своей соответствующей строкой при сортировке по столбцам. Флажки остаются в той же строке, что и раньше, прежде чем сортировать, поэтому, если пользователь должен принять одну из многих функций, привязанную к выбранной строке, она будет выполнена в неправильной строке. Пожалуйста, дайте мне знать, если мне нужно подробнее разобраться в этом, потому что это трудно объяснить, не наблюдая за поведением.Флажки не сортируются правильно в Slick Grid

Краткий пример моей текущей настройки:

checkboxSelector : new Slick.CheckboxSelectColumn({ 
       cssClass: "slick-cell-checkboxsel", 
     }), 

     columns : [{ 
       id : "name", 
       name : NAME, 
       field : "name", 
       width : 300, 
       editor : Slick.Editors.Text, 
       sortable : true 

У меня есть несколько больше столбцов, но это, как моя строка будет выглядеть. Я бы флажок, то поле имя, а затем еще один столбец, и т.д.

Сейчас идет мой метод сортировки:

APPLICATION.grid.onSort.subscribe(function (e, args) 
{ 
    var cols = args.sortCols; 

    APPLICATION.gridData.sort(function (dataRow1, dataRow2) 
    { 
     for (var i = 0, l = cols.length; i < l; i++) 
     { 
      var field = cols[i].sortCol.field; 
      var sign = cols[i].sortAsc ? 1 : -1; 
      var value1 = dataRow1[field], value2 = dataRow2[field]; 
      var result = (value1 == value2 ? 0 : (value1 > value2 ? 1 : -1)) * sign; 

      if (result != 0) 
      { 
       return result; 
      } 
     } 

     return 0; 
    }); 

    APPLICATION.grid.invalidate(); 
    APPLICATION.grid.render(); 
}); 

Я новичок в Slick сетки и проверили их API, но не могу придумать любые решения. Кто-нибудь знает, как я могу получить свой флажок, чтобы оставаться со своей соответствующей строкой при сортировке по столбцам?

Любая помощь очень ценится.

Спасибо!

-Dave F.

+0

Ума поддерживают нас с рабочей установкой JSFiddle твоих? Например, это [один] (http://jsfiddle.net/philcruz/4UyNA/). – kayess

ответ

1

dataView.syncGridSelection (сетка, правда)

Я думаю, что вы можете найти ответ здесь, Slickgrid checkbox and filtering problems

+0

После тщательного изучения API Data View для Slick Grid это похоже на хороший подход. Тем не менее, человек, который написал это передо мной, не использовал Data View. Они объявили сетку следующим образом: APPLICATION.grid = новый Slick.Grid ("# applicationGrid", APPLICATION.gridData, APPLICATION.columns, APPLICATION.options); где APPLICATION.gridData - это массив, в который данные передаются. Похоже, что это место заняло представление данных в этом экземпляре, и внедрение Data View станет серьезным делом. Я очень ценю ваши отзывы. Любые другие идеи? – MotoDave452

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