这是过去的一个爆炸,但无论如何......
我有一个网格,从商店加载,有行选择模型,还有一些按钮等......
MyGrid = function(config){
var config = Ext.apply({},config,{
cm:'rowselection',
store:new Ext.data.Store({
ajax:true,
url:'someUrl'
})//thumbsucked config, this is prolly totally wrong
});
MyGrid.superclass.constructor.call(this, config);
}
Ext.extend(MyGrid,Extx.grid.GridPanel)
现在我的问题是......
如何在不将实际添加到商店的情况下向此网格添加行?
我想这样做,所以我可以违反列模型(例如,我想添加另一行,其中包含一些文本信息,以及一个超链接,不适合我的4列宽网格)
我可以将其作为数据视图或其他内容访问吗?
this.store.on('load',function(store,records,e){
doWhat()
//debugger;
},this);
};
答案 0 :(得分:1)
Iamagonnasay没有:) 网格具有明确定义的列模型,并且视图绑定到商店 - 确切地说,商店中的数据。所以......不,你不能在不适合网格中定义的列的网格中插入行。 您可以做的是展开单个行的行体,并在行的展开部分中插入一些随机HTML。查找RowBody插件。
答案 1 :(得分:0)
猜猜你可以在Dom里面写一下这个视图。
this.store.on('load',function(store,records,e){
rowTpl = new Ext.Template(
'<div class="x-grid3-row x-grid3-row-last">',
'<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',
'<tbody><tr>{cellTpl}</tr></tbody>',
'</table>',
'</div>'
);
cellTpl = new Ext.Template(
'<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}">',
'<div class="x-grid3-cell-inner x-grid3-col-{id}"> Hello World</div>',
"</td>"
);
cellTpl.compile();
html=rowTpl.apply({
tstyle: 'width:' + this.view.getTotalWidth() + ';',
cellTpl: cellTpl.compile().html
});
Ext.DomHelper.insertHtml('beforeEnd', this.view.mainBody.dom, html);
},this)