我正在尝试显示网格。在这种排序是行不通的。这是我的代码。
<div id="grid-sample"></div>
<script type="text/javascript">
Ext.create('Ext.data.Store', {
storeId:'cstore',
fields:['user', 'age', 'place'],
data: [
{"user":"joe","age":27,"place":"sydney"},
{"user":"abel","age":29,"place":"delhi"},
{"user":"fin","age":18,"place":"san jose"}
]
});
Ext.create('Ext.grid.Panel', {
title: 'Sample grid',
store: Ext.data.StoreManager.lookup('cstore'),
autoCreateViewPort: false,
layout: 'fit',
columns: [
{ text: 'Name', xtype: 'templatecolumn', tpl: '{user}' ,sortable : true },
{ text: 'Age', xtype: 'templatecolumn', tpl: '{age}' ,sortable : true },
{ text: 'Place', xtype: 'templatecolumn', tpl: '{place}',sortable : true }
],
width: 750,
renderTo: 'grid-sample'
});
</script>
答案 0 :(得分:1)
如果dataIndex不应该引用字段而是引用对象的属性,该怎么办?所以上面的数据可能是
data: [{{"user":"joe",userName:"Joeschmoe"},"age":27,"place":"sydney"},
{{"user":"Jane",userName:"Jany"},"age":29,"place":"delhi"},
{{"user":"Mary",userName:"mary123"},"age":18,"place":"san jose"}
]
答案 1 :(得分:0)
您需要为排序添加 dataIndex 才能正常工作。
所以你的专栏会是这样的,
columns: [
{ text: 'Name', xtype: 'templatecolumn',tpl: '{user}',dataIndex: 'user' ,sortable : true },
{ text: 'Age', xtype: 'templatecolumn', tpl: '{age}',dataIndex: 'age' ,sortable : true },
{ text: 'Place',xtype: 'templatecolumn', tpl: '{place}', dataIndex :'place',sortable : true }]
dataIndex 的值应与商店中的字段名称匹配。