我正在将大量旧 HTML 代码移植到 ExtJS 4 网格,并且偶然发现了以下挑战:我希望能够为网格中的 TD 元素设置自定义 ID。据我了解,我需要覆盖用于创建单元格的默认模板。我当前的模板如下所示:
Ext.view.TableChunker.metaRowTpl = [
'<tr class="' + Ext.baseCSSPrefix + 'grid-row {addlSelector} {[this.embedRowCls()]}" {[this.embedRowAttr()]}>',
'<tpl for="columns">',
'<td class="{cls} ' + Ext.baseCSSPrefix + 'grid-cell ' + Ext.baseCSSPrefix + 'grid-cell-{columnId} {{id}-modified} {{id}-tdCls} {[this.firstOrLastCls(xindex, xcount)]}" {{id}-tdAttr}><div class="' + Ext.baseCSSPrefix + 'grid-cell-inner ' + Ext.baseCSSPrefix + 'unselectable" style="{{id}-style}; text-align: {align};">{{id}}</div></td>',
'</tpl>',
'</tr>'
];
为了能够操作表格单元格的“id=”属性,我可以使用什么占位符?
最佳答案
不要覆盖tpl,只需设置自定义列renderer这将更新列元数据:
columns: [{
text: 'Blah',
dataIndex: 'blah',
renderer: function(value, metaData, record) {
metaData.tdAttr = 'id="someprefix-' + record.get('blah') + '"';
return value;
}
}, ... ]
关于javascript - 在 ExtJS 4 Grid 中设置单元格 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10639061/