如何适应gridPanels列?

时间:2013-01-16 06:39:24

标签: javascript extjs

我使用ExtJs 3.4进行申请 我有这个结构:

westPanel-的TabPanel:

var westPanel = new Ext.TabPanel({
            id: "west",
            //xtype: "tabpanel",
            //layout:'fit',
            activeTab: 0,
            region: "west",
            border: false,
            width: 278,
            split: true,
            collapseMode: "mini",
            items: [mapList,structure,cadastr,search]
        });

搜索 - FormPanel:

var search = new Ext.FormPanel({
                labelAlign: 'top',
                frame:true,
                title: 'Поиск',
                bodyStyle:'padding:5px 5px 0',
                //width: 600,
                //layout:'fit',
                items: [{
                    xtype:'textfield',
                    fieldLabel: 'Диспечерское наименование',
                    name: 'name_dispather',
                    anchor:'100%',
                    enableKeyEvents: true,
                    listeners: {
                        'keyup': function(e) {
                            if(e.getValue().length==4){
                                searchStore.load({params:{'name':e.getValue()}});
                            }
                        }
                    }
                },searchTab]
            });

SearchTab - GridPanel:

var searchTab = new Ext.ux.grid.livegrid.GridPanel({
    store: searchStore,
    region: 'center',
    cm: searchCm, 
    layout: 'fit',
    selModel: new Ext.ux.grid.livegrid.RowSelectionModel(),
    stripeRows : true,
    view: myView,
    height: 390,
    loadMask: true,
    id: 'searchTab',
    title:'Найденные объекты',
    autoScroll: true,
});

我有一个问题:

enter image description here

必须将最后一列的宽度设置为整个面板的宽度吗?

更新

我尝试使用autoExpandColumn。它的作品,但它不是非常的:

enter image description here

如何解决?

2 个答案:

答案 0 :(得分:5)

您可以使用flex配置实现此目的。

您只能在一列上执行此操作:

columns: [{text: "Column A", dataIndex: "field_A", flex: 1}]

或者您可以在所有列上默认执行此操作:

columns: {
    items: [
        {
            text: "Column A"
            dataIndex: "field_A"
        },{
            text: "Column B",
            dataIndex: "field_B"
        }, 
        ...
    ],
    defaults: {
        flex: 1
    }
}

答案 1 :(得分:4)

尝试:

autoExpandColumn :字符串

此网格中列的id应扩展以填充未使用的空间。

您必须为searchTab提供此配置选项(我的意思是网格面板)。

编辑:

  viewConfig:{
      scrollOffset: 0,
  forceFit: true
  },

这将消除滚动条留下的空隙。您需要为searchTab提及(我的意思是网格面板)。