我在垂直面板中有一个Gridpanel,这样我就可以在gridpanel下放置一些东西。在我在gridpanel上设置store属性之前,一切都没有问题。然后窗口变成白色,没有任何渲染。我必须有一些小的东西。
newWindow = Ext.create('Ext.window.Window', {
title: 'View Data',
height: 400,
width: 600,
layout: 'fit',
bodyPadding: 5,
resizable: false,
items:
[
{ xtype:'panel', layout:{ type:'vbox', pack:'center' }, items:
[
{ xtype: 'gridpanel', height:200, columns:
[
{ header: 'A', dataIndex: 'a'},
{ header: 'B', dataIndex: 'b' },
{ header: 'M', dataIndex: 'm' },
{ header: 'i', dataIndex: 'i' }
], store: store, forceFit: true, border: true
},
{ xtype:'panel', title: 'Hot Load', border: true, margin:'5', height:150, width: 500, layout:{ type:'hbox', pack:'center' }, bodyBorder: true, collapsible: true }
]
}
],
buttons:
[
{ text: 'OK' } ,
{ text: 'Cancel' }
]
});
答案 0 :(得分:0)
商店中的数据可能会以某种方式出现问题 - 您不会在此处显示代码。
我确实使用商店创建了一个jsFiddle ..如果你使用一些示例数据填充你的商店并仍然得到渲染问题,我开始用类似于这个jsFiddle的东西并添加额外的格式/对此有所了解。
我确实删除了额外的面板,并且jsFiddle并没有真正处理Ext.window.Window
所以我只使用了一个面板。
Ext.define('Example', {
extend: 'Ext.data.Model',
fields: [{
name: 'a'
}, {
name: 'b'
}, {
name: 'm'
}, {
name: 'i'
}]
});
var store = Ext.create('Ext.data.Store', {
model: 'Example',
data: [{
a: 'test A',
b: 'test B',
m: 'test M',
i: 'test I'
}, {
a: 'test A',
b: 'test B',
m: 'test M',
i: 'test I'
}, {
a: 'test A',
b: 'test B',
m: 'test M',
i: 'test I'
}]
});
newWindow = Ext.create('Ext.panel.Panel', {
title: 'View Data',
height: 400,
width: 600,
//layout: 'fit',
//bodyPadding: 5,
//resizable: false,
renderTo: Ext.getBody(),
items: [{
xtype: 'gridpanel',
//height: 200,
columns: [{
header: 'A',
dataIndex: 'a',
flex: 1
}, {
header: 'B',
dataIndex: 'b',
flex: 1
}, {
header: 'M',
dataIndex: 'm',
flex: 1
}, {
header: 'i',
dataIndex: 'i',
flex: 1
}],
store: store //,
//forceFit: true,
//border: true
}, {
xtype: 'panel',
title: 'Hot Load',
//border: true,
//margin: '5',
height: 150,
width: 500 //,
//layout: {
//type: 'hbox',
//pack: 'center'
//},
//bodyBorder: true,
//collapsible: true
}],
buttons: [{
text: 'OK'
}, {
text: 'Cancel'
}]
});