ExtJs グリッドでカスタム グループ化ヘッダーをレンダリングしようとしています。
グループ名を表示したい。この例では、グリッドは今日、昨日、先週でグループ化されています。これは、次のコードで正常に表示されます。
groupHeaderTpl: '{name}'
グループ化は、次のようにモデルの変換フィールドで行われます。
{
name: 'dateGroup',
type: 'string',
convert: function(value, record) {
var stamp = record.get('sentDate'),
stamp = Ext.util.Format.round((stamp / 1000), 0),
formattedSentDate = Info.utils.formatTimeStamp(stamp, 'd-m-y'),
str = '';
if (formattedSentDate === Info.utils.getToday()) {
str = 'Today';
} else if (formattedSentDate === Info.utils.getYesterday()) {
str = 'Yesterday';
} else {
str = 'Last week';
}
return str;
}
}
モデルには、 readというブール値フィールドがあります。
メッセージが未読の場合、未読メッセージの数をグループ ヘッダー テンプレートに表示したいと思います。
私は次のようにこれを試みましたが、コンソールに何も記録されません:
features: [{
ftype: 'grouping',
groupHeaderTpl: Ext.create(
'Ext.XTemplate',
'{name}: ',
'{name: this.unreadCount}',
{
unreadCount: function(val){
this.store.each(function(item, i, count) {
if(item.get('read') === false){
// populate inbox store
// increment the unread inbox count
console.log('unread');
} else {
console.log('read');
}
});
}
}
)
}],
これは可能ですか?それは確かですが、ExtJs には本当に慣れていないので、まだ学習中です。