0

内部グリッドコンポーネントを持つメインウィンドウがあります。ウィンドウのボタンを押すと、グリッドコンポーネントの1つがデータベースのデータで更新されます。その部分はうまく機能していますが、ウィンドウコンポーネントのサイズを変更しても、このグリッドコンポーネントのサイズは変更されません。setSource()が呼び出されると、固定幅になるようです。

グリッドコンポーネントのサイズを再描画/更新できるextjs関数はありますか、またはこれが発生しないようにする方法はありますか?

extjs4のこのコンポーネントExt.grid.property.Gridを使用します

これがメインコンテナです

var main_container = Ext.create('Ext.container.Container',
{
   xtype: 'container',
   id: "container_id",
   anchor: '100%',
   layout:'column',
   items:[
      column_1,
      column_2,
      column_3
   ]
})
4

1 に答える 1

1

内容に合わせて列のサイズを動的に変更できるレイアウトは知りません。これは簡単な作業ではありません (独自に実装する方法を想像してみてください)。次のように、内部のデータの長さに対する期待に応じて、すべての列に固定のパーセンテージ幅を指定できます。

 items: [{
        title: 'Column 1',
        columnWidth: .25
    },{
        title: 'Column 2',
        columnWidth: .55
    },{
        title: 'Column 3',
        columnWidth: .20
    }],

任意の列に固定幅を指定することもできます。これにより、残りのスペースがパーセンテージ幅の列で共有されます。http://docs.sencha.com/ext-js/4-0/#!/api/Ext.layout.container.Columnを参照してください。

そうしないと、データが更新されるたびにすべてのセルの幅を測定して、最大幅のセルを特定し、その幅に応じて列のサイズを変更する必要があります (ただし、すべての列の幅の合計がコンテナーの幅を超えないようにしてください)。

于 2012-06-19T10:12:46.963 に答える