EXTJS 4.2-网格面板多网格排序
EXTJS 4.2 - Grid Panel Multiple grid sorting
当在"电子邮件"列上触发网格面板排序时,我如何首先对"名称"列强制ASC排序,然后让EXTJS对"电子邮件"栏执行排序。
我发现下面的例子是正确的。。http://cdn.sencha.com/ext/gpl/4.2.0/examples/grid/multiple-sorting.html
但我看不出当用户点击列排序时,我将如何在网格面板中实现这一点,该示例直接使用按钮来对抗商店。。。我认为我唯一可以使用的事件是gridpanel sortchange,但这是一个后排序事件。
我创建了一个小提琴示例https://fiddle.sencha.com/#fiddle/imt我在商店里放了一台分拣机
sorters: [{
property: 'Name',
direction: 'ASC'
}],
但是,在对网格中的其他列进行排序后,排序器不再对"名称"进行优先级排序。
有什么建议吗?
在网格上使用headrclick事件怎么样。这将点击的列配置作为参数之一,因此基于此,您可以将自己的自定义排序应用于底层存储。
但是两次排序真的有问题吗?否则,您可以覆盖Ext.grid.header.ContainerView.的headertriggerclick事件
sortchange: function (ct, column, direction, eOpts ) {
var store = column.up('gridpanel').getStore();
store.sort([{
property : 'name',
direction: 'ASC'
}, {
property : column.dataIndex,
direction: direction
}]);
}
问题出在字段的命名上。您在排序器中大写了"Name",但实际字段是"Name"。
fields: [
{name:'name'},
{name:'summaryId'},
{name: 'id'},
{name:'email'},
{name:'phone'},
],
当我将其更改为"name"时,它将使用该名称和提供的任何其他排序程序进行排序。
sorters: [{
property: 'name',
direction: 'ASC'
},{
property:'email',
direction: 'DESC'
}],
相关文章:
- ui网格:在自定义表头模板中触发排序
- AngularJS剑道网格绑定到angular服务webapi-当使用[fromuri]进行解析时,排序总是为null
- 使用MixItUp在一个网格中进行多个排序
- EXTJS 4.2-网格面板多网格排序
- 将列设置为在EasyUI数据网格上按排序显示
- 我该如何使网页上的图像网格可排序
- 删除后的剑道网格排序
- 灵活网格本地排序
- jQuery 引导网格排序函数不一致
- Angularjs 简单网格 表按日期排序
- jq网格行排序通过拖放
- 如何在 2 个角度 UI 网格之间同步列排序
- 如何在 UI 网格中对列进行排序
- JavaScript网格按编号排序,排序问题
- ExtJS分组网格排序错误
- 将剑道网格与服务器端筛选器和服务器端排序结合使用,字段 = NULL
- 光滑网格 - 对复杂对象进行排序
- 网格排序整个结果集
- 剑道UI网格-排序降序前升序
- Ext JS网格排序作为字符串而不是JSON发送