2010-03-11 71 views
0

在设置在一个中心布局固定宽度使用ExtJs的。ExtJs的 - 一个面板

我试图设计一个主要被划分为三个子板(目录树,网格和面板)。它的工作方式是你有一个包含元素的树列表(西),点击一个填充网格的元素(中心),然后点击网格中的一个元素并生成面板(西)。包含三个其他的

我的主面板中的定义有一个布局“边界”。

现在我所面临的问题是,中心布局(网格)已在代码被定义具有固定宽度和西面板作为自动宽度。但是当界面生成时,网格宽度会突然占用界面中的所有空间而不是西部面板。

的代码看起来像这样:

var exploits_details_panel = new Ext.Panel({ 
region: 'east', 
autoWidth: true, 
autoScroll: true, 
html: 'test' 
}); 

var exploit_commands = new Ext.grid.GridPanel({ 
store: new Ext.data.Store({ 
    autoDestroy: true 
    }), 

sortable: true, 
autoWidth: false, 
region: 'center', 
stripeRows: true, 
autoScroll: true, 
border: true, 
width: 225, 

columns: [ 
    {header: 'command', width: 150, sortable: true}, 
    {header: 'date', width: 70, sortable: true} 
] 
}); 

var exploits_tree = new Ext.tree.TreePanel({ 
border: true, 
region: 'west', 
width: 200, 
useArrows: true, 
autoScroll: true, 
animate: true, 
containerScroll: true, 
rootVisible: false, 
root: {nodeType: 'async'}, 
dataUrl: '/ui/modules/select/exploits/tree', 

listeners: { 
    'click': function(node) { 
    } 
} 
}); 

var exploits = new Ext.Panel({ 
id: 'beef-configuration-exploits', 
title: 'Auto-Exploit', 
region: 'center', 
split: true, 
autoScroll: true, 
layout: { 
    type: 'border', 
    padding: '5', 
    align: 'left' 
}, 

items: [exploits_tree, exploit_commands, exploits_details_panel] 
}); 

这里“变种攻击”是我含其他三个子面板主面板。

在“exploits_tree”是含有某些要素的树列表。当你点击其中一个元素时,网格'exploit_commands'被填充,当你点击其中一个填充元素时,会生成'exploits_details_panel'面板。

我如何可以设置“exploit_commands”固定宽度?

谢谢你的时间。

回答

3

根据docs,中心区域不能具有固定宽度(请参阅注意标题下的第一个项目符号点)。任何其他区域(N,S,E或W)都可以定义其大小,并且中心区域可以简单地占据剩下的空间。顺便说一句,这对于其他GUI平台中的这种布局风格来说也是一种标准方法(或者想想几乎所有用作示例的图形化IDE)。

不要在东面板上设置自动宽度,给它一个定义的开始宽度(否则它不会显示,这可能是你所看到的)。