我不知道该怎么办...... 没有hbox,网格出现, 但是没有hbox。
我添加&每个子元素的高度和弹性, 但它不起作用......
提前致谢!
这是代码:
Ext.onReady(function() {
var myStore = Ext.create('Ext.data.SimpleStore', {
fields: [ 'bMin', ], });
var myData = [ { "bMin": 10, } ];
myStore.loadData(myData);
var grid = new Ext.grid.GridPanel({
layout : { type : 'hbox', align : 'stretch', flex:2,
Height: 150,
Width: 300,
},
cls: 'custom-grid',
store: myStore,
columns: [
{text: "bMin", dataIndex: 'bMin', type: 'float',},
],
viewConfig: {
emptyText: 'No records',
forceFit : true,
},
renderTo: Ext.getBody(),
});
var myPanel = new Ext.Panel({
layout : {
type : 'hbox',
align : 'stretch',
},
title: 'Hello',
minHeight : 150,
minWidth: 300,
Height: 150,
Width: 300,
items: [
grid,
{xtype: 'button', width: 50, height: 50, flex: 1}
],
renderTo: Ext.getBody()
});
});
答案 0 :(得分:0)
在网格上,您不需要'布局'配置,当使用HBox时,在子组件上忽略宽度和宽度,因此使用flex是可行的方法。我还为hbox布局添加了“pack”属性。
试试这个:
Ext.onReady(function() {
var myStore = Ext.create('Ext.data.SimpleStore', {
fields: [ 'bMin', ], });
var myData = [ { "bMin": 10, } ];
myStore.loadData(myData);
var grid = new Ext.grid.GridPanel({
flex: 1,
cls: 'custom-grid',
store: myStore,
columns: [
{text: "bMin", dataIndex: 'bMin', type: 'float',},
],
viewConfig: {
emptyText: 'No records',
forceFit : true,
},
renderTo: Ext.getBody(),
});
var myPanel = new Ext.Panel({
layout : {
type : 'hbox',
align : 'stretch',
pack: 'start'
},
title: 'Hello',
minHeight : 150,
minWidth: 300,
Height: 150,
Width: 300,
items: [
grid,
{xtype: 'button', flex: 1, text: 'test'}
],
renderTo: Ext.getBody()
});
});
JSFiddle示例: http://jsfiddle.net/vzURb/2/
答案 1 :(得分:0)
我在这里看到了许多问题......
height
和width
配置属性不应大写flex
,height
和width
属性应该都在面板上,而不是面板的layout
flex
属性将被加权,因此使用按钮上的flex: 1
和面板上的flex: 2
几乎肯定不是您想要做的事情renderTo
,它应该在你的面板内,所以它不应该使用这个配置type
,这不是有效的配置grid
我无法确切地说出你想要做什么,但是如果hbox
布局带有按钮作为第二个item
将会显得很奇怪。但是,如果这是你想要的,这可能更符合你的要求:
var grid = new Ext.grid.GridPanel({
cls: 'custom-grid',
store: myStore,
columns: [
{text: "bMin", dataIndex: 'bMin'}
],
viewConfig: {
emptyText: 'No records',
forceFit : true
}
});
var myPanel = new Ext.Panel({
layout : {
type : 'hbox',
align : 'stretch'
},
title: 'Hello',
height: 150,
width: 300,
items: [
grid,
{xtype: 'button', width: 50, height: 50, flex: 1}
],
renderTo: Ext.getBody()
});