我指的是 Sencha 的Ext.grid.filters.filter.List文档。如果运行代码并打开“评级”列的过滤器,则过滤器值不是按自然升序排列,而是按时间顺序排列。需要执行哪些操作才能更改此设置并使值按升序排列(1、2、3、4、5)?
w6lpcovy1#
在将筛选器值应用于列的筛选器之前,可以按升序手动对筛选器值进行排序。在下面的代码中,ratingValues数组是通过从存储中收集唯一的“rating”值并使用sort()方法对它们进行升序排序来生成的。排序后的数组将作为选项属性传递到'Rating'列的筛选器配置中。这可确保渲染栅格时,过滤器值将按升序显示。
Ext.application({ name: 'Fiddle', launch: function () { var shows = Ext.create('Ext.data.Store', { fields: ['id', 'show', 'rating'], data: [{ id: 0, show: 'Battlestar Galactica', rating: 2 }, { id: 1, show: 'Doctor Who', rating: 4 }, { id: 2, show: 'Farscape', rating: 3 }, { id: 3, show: 'Firefly', rating: 4 }, { id: 4, show: 'Star Trek', rating: 1 }, { id: 5, show: 'Star Wars: Christmas Special', rating: 5 }] }); var ratingValues = shows.collect('rating', false, true).sort(); Ext.create('Ext.grid.Panel', { renderTo: Ext.getBody(), title: 'Sci-Fi Television', height: 250, width: 350, store: shows, plugins: 'gridfilters', columns: [{ dataIndex: 'id', text: 'ID', width: 50 }, { dataIndex: 'show', text: 'Show', flex: 1 }, { dataIndex: 'rating', text: 'Rating', width: 75, filter: { type: 'list', options: ratingValues, } }] }); } });
字符串
的数据
1条答案
按热度按时间w6lpcovy1#
在将筛选器值应用于列的筛选器之前,可以按升序手动对筛选器值进行排序。在下面的代码中,ratingValues数组是通过从存储中收集唯一的“rating”值并使用sort()方法对它们进行升序排序来生成的。排序后的数组将作为选项属性传递到'Rating'列的筛选器配置中。这可确保渲染栅格时,过滤器值将按升序显示。
字符串
的数据