2014-12-23 17 views
1

Mb, кто-нибудь знает, почему функции некорректно сгруппированы отсортированные данные в сетке? Пример:Extjs некорректная сортировка по сетке группировки

https://fiddle.sencha.com/#fiddle/fg4

P.S. Я сгруппировал на поле «projj», «projectId», но все безрезультатно. Я хочу следующий результат:

| 1. blablabla | 
    | field1 | field2 | field3 | field4 | 
    | 2. blablabla | 
    | field1 | field2 | field3 | field4 | 
    ....... 
    | 10. blablabla | 
    | field1 | field2 | field3 | field4 | 
    | field1 | field2 | field3 | field4 |  
    | 11. blablabla | 
    | field1 | field2 | field3 | field4 | 
    | field1 | field2 | field3 | field4 | 

ответ

1

Сортировка чисел в строках всегда будет уступать этот результат. Это происходит потому, что stringsort всегда искать

  • первого символа и сортировать по ним,
  • тогда он взял второй и сделать subsort
  • тогда третий .... и так далее

Таким образом, сортировка абсолютно правильная. Вы должны использовать дополнительное поле номера проекта как int/number, в вашем случае projectId, и группе, которая решит вашу проблему.

Редактировать

Существует ошибка в ExtJS 5.0 выпуска. Она работает в ExtJS 5.1

Смотрите эту Fiddle

Теперь изменения:

Вы должны группе

groupField: 'projectId' 

сортировщика не требуется, поскольку группировка будет сортировать

и для отображения поля проекта используйте следующий шаблон группового заголовка

groupHeaderTpl: Ext.create('Ext.XTemplate', 
    '{children:this.format}', 
    { 
     format: function(c) { 
      return c[0].get('project'); 
     } 
    } 
) 
+0

благодарит за совет –