Сортировка сгруппированных данных в GridPanel из EXTJS по group_sort_order - PullRequest
8 голосов
/ 01 апреля 2011

Как отсортировать сгруппированные данные EXT JS Grid Panel по их sortOrder

{Grouped data}                {Sort Order}

Audi                            [3]
    col11 col22 xol33
    col21 col23 cole3
Benz                            [1]
    col23 col32 cos32
    col32 dos34 sdfd2
Citron                          [4]
    jkj23 dfd23 fds23
    jkjkk jjkkk jkkkk
Nissan                          [2]
    col23 col32 cos32
    col32 dos34 sdfd2

Получите вышеуказанные данные, которые я хочу отсортировать, отсортировав их порядок сортировки (поскольку я получил порядок сортировки для каждого элемента группы в моем groupdatastore), как показано ниже

 Benz                            [1]
    col23 col32 cos32
    col32 dos34 sdfd2
 Nissan                          [2]
    col23 col32 cos32
    col32 dos34 sdfd2
 Audi                            [3]
    col11 col22 xol33
    col21 col23 cole3
 Citron                          [4]
    jkj23 dfd23 fds23
    jkjkk jjkkk jkkkk

Ответы [ 4 ]

8 голосов
/ 08 апреля 2011

Попробуйте установить их в хранилище:

remoteGroup:true,
remoteSort: true

И в вашем sql или что вы используете для сортировки данных, сначала группируя поля.

gridDataStoreObj = new Ext.data.GroupingStore(
{
    remoteGroup:true,
    remoteSort: true,
    proxy: new Ext.data.HttpProxy({url: 'index.php' }),
    method:'POST',
    groupField:'brandName',
    ...     
    sortInfo:{field: 'id', direction: "ASC"},
}); 

На сервере:

select * from table order by brandName, id

Это должно сортировать группы сами.

3 голосов
/ 18 декабря 2012

Для extjs 4 и для локальной сортировки вместо использования: groupField: 'mygroupfield' в магазине

используйте: groupers: [{ property: 'tasklist_id', sorterFn: function(o1, o2){} }]

1 голос
/ 18 декабря 2012

В магазине используйте столбец порядка сортировки в качестве вашего groupField.

В сетке:

features: [
  {
    ftype: 'grouping',
    groupHeaderTpl: [
      '{[values.rows[0].groupId]}'
    ]
  }
]

Где groupId - это 'id' столбца, который вы хотите отобразить

0 голосов
/ 01 апреля 2011

в GroupingStore задать свойство:

sortInfo: {field: 'Sort_order', direction: 'ASC'},

http://dev.sencha.com/deploy/dev/docs/?class=Ext.grid.GroupingView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...