我想修改网格的视图,我从基础开始(即在我定义自己的视图之前)。但有些我甚至无法分配对象来查看属性。 请问,任何人都知道如何创建视图?我试过跟随。
示例会很棒。
var viewConfig = {emptyText: "My msg",stripeRows: false};
this.grid = Ext.create('Ext.grid.Panel', {
id: "t-"+this.gridName+"-grid",
header: true,
title: gridTitle,
border: false,
store: store,
columns: cm,
selModel: sm,
loadMask: true,
//viewConfig: viewConfig, // works fine
//view: new Ext.view.Table() ,//Ext.grid.View(),//Ext.grid.View(viewConfig ),
provider: this.page.provider
});
如果我取消评论“view:new Ext.view.Table()”行,那么它会引发错误并停止一切。 我一直评论,在网格创建后,我可以使用this.grid.getView()属性访问视图。但是如何创建自己的视图对象(我可以在其中分配自定义模板)???
非常感谢。
答案 0 :(得分:1)
来自文档:
这是Ext.grid.View和Ext.tree.View的基类,并且是 不要直接使用。
如果您想自己创建一个,则需要配置以下必需选项。
itemSelector : String
store : Ext.data.Store
tpl : String/String[]
查看into the docs如何创建自定义视图。 祝你好运!如果您需要任何帮助,请随时询问;)
Ext.define('Image', {
extend: 'Ext.data.Model',
fields: [
{ name:'src', type:'string' },
{ name:'caption', type:'string' }
]
});
Ext.create('Ext.data.Store', {
id:'imagesStore',
model: 'Image',
data: [
{ src:'http://www.sencha.com/img/20110215-feat-drawing.png', caption:'Drawing & Charts' },
{ src:'http://www.sencha.com/img/20110215-feat-data.png', caption:'Advanced Data' },
{ src:'http://www.sencha.com/img/20110215-feat-html5.png', caption:'Overhauled Theme' },
{ src:'http://www.sencha.com/img/20110215-feat-perf.png', caption:'Performance Tuned' }
]
});
var imageTpl = new Ext.XTemplate(
'<tpl for=".">',
'<div style="margin-bottom: 10px;" class="thumb-wrap">',
'<img src="{src}" />',
'<br/><span>{caption}</span>',
'</div>',
'</tpl>'
);
var theView = Ext.create('Ext.view.View', {
store: Ext.data.StoreManager.lookup('imagesStore'),
tpl: imageTpl,
itemSelector: 'div.thumb-wrap',
emptyText: 'No images available'
});
var grid = Ext.create('Ext.grid.Panel', {
id: "t-"+this.gridName+"-grid",
header: true,
title: gridTitle,
border: false,
store: store,
columns: cm,
selModel: sm,
loadMask: true,
view: theView,
provider: this.page.provider,
renderTo: Ext.getBody()
});
//not tested but should work