Если приведенный ниже ответ вам не поможет, вот метод, который вы можете использовать для отладки:
Добавьте на свою страницу функцию отладки «objectToString»:
function ObjectToString(object) {
var string;
var name;
for (name in object) {
if (typeof object[name] !== 'function') {
string += "{\"" + name + "\": \"" + object[name] + "\"}<br />";
}
}
return string;
}
Затем используйте эту функцию, чтобы вывести атрибуты в объекте values.rows[0], чтобы вы могли видеть, доступны ли нужные столбцы/значения для теста:
var groupingFeature = Ext.create('Ext.grid.feature.Grouping',{
groupHeaderTpl: 'Debug: {[ObjectToString( values.rows[0] ) ]}',
hideGroupedHeader: true
});
Когда это используется для отладки приведенного ниже примера, вы можете получить этот вывод отладки:
![Пример вывода отладки](https://i.stack.imgur.com/iDmxJ.png)
Итак, из этого вы можете видеть, что установка свойства «id» столбца, по которому я группирую, делает имя столбца доступным в массиве values.rows, чтобы я мог проверить его значение.
Опять же, надеюсь, что эта техника и приведенный ниже оригинальный образец помогут.
==== Исходный пример ниже перед отладкой кода ====
Вот пример, немного измененный из примера группировки сетки Sencha. (См. сайт сенчи, пример группировки сетки а>).
var groupingFeature = Ext.create('Ext.grid.feature.Grouping',{
groupHeaderTpl: 'Cuisine: {[ values.rows[0].cuisine == "American" ? "North American" : values.rows[0].cuisine ]}',
hideGroupedHeader: true
});
var grid = Ext.create('Ext.grid.Panel', {
renderTo: Ext.getBody(),
collapsible: true,
iconCls: 'icon-grid',
frame: true,
store: Restaurants,
width: 600,
height: 400,
title: 'Restaurants',
resizable: true,
features: [groupingFeature],
columns: [{
text: 'Name',
flex: 1,
dataIndex: 'name'
},{
text: 'Cuisine',
id: 'cuisine', // NOTE: you must assign an id here
flex: 1,
dataIndex: 'cuisine'
}],
fbar : ['->', {
text:'Clear Grouping',
iconCls: 'icon-clear-group',
handler : function(){
groupingFeature.disable();
}
}]
});
Следует помнить следующее:
- Установите атрибут «id» в определениях столбцов, иначе вы не сможете ссылаться на эти столбцы в groupHeaderTpl.
- Используйте {[ ... ]} в groupHeaderTpl, чтобы запустить произвольный javascript для выполнения ваших проверок.
- Используйте value.rows[0].FIELDNAME, чтобы извлечь нужное значение столбца из первой строки в группе.
Я надеюсь, что это поможет вам.
person
JohnHarp
schedule
23.08.2012