Apache flex 在Flex3中调整列大小

Apache flex 在Flex3中调整列大小,apache-flex,actionscript,datagrid,resize,Apache Flex,Actionscript,Datagrid,Resize,看看这段代码(无法粘贴到此处,它不适合),它代表了我真正的应用程序结构: 编辑:代码的相关部分: <mx:VBox width="100%" height="100%"> <mx:HBox width="100%" horizontalScrollPolicy="off" height="100%"> <mx:VBox width="100%" verticalScrollPolicy="off" height="100%

看看这段代码(无法粘贴到此处,它不适合),它代表了我真正的应用程序结构:

编辑:代码的相关部分:

     <mx:VBox width="100%" height="100%">
      <mx:HBox width="100%" horizontalScrollPolicy="off" height="100%">  
        <mx:VBox width="100%" verticalScrollPolicy="off" height="100%">
          <mx:DataGrid height="100%" headerHeight="40" width="100%" wordWrap="true">

            <mx:columns>
              <mx:DataGridColumn dataField="serial_number" minWidth="60" 
                width="60" headerText="serial number"/>
              <mx:DataGridColumn dataField="int_number" minWidth="80"
                width="80"    headerText="int. number"/>
              <mx:DataGridColumn dataField="ext_number" minWidth="200"
                width="200"    headerText="ext. number"/>
              <mx:DataGridColumn dataField="desc" minWidth="200"
                headerText="description"/>
              <mx:DataGridColumn dataField="issued_by" minWidth="100"
                 width="100"    headerText="issued by"/>
              <mx:DataGridColumn dataField="contractual_date" minWidth="85"
                width="85"    headerText="contractual date" />
              <mx:DataGridColumn dataField="file_size" minWidth="60"   
                width="60"    headerText="file size"/>
              <mx:DataGridColumn dataField="n_sheets" minWidth="60"   
                width="60"    headerText="n. of sheets"/>
              <mx:DataGridColumn dataField="contains_drawing" minWidth="65"
                width="65"    headerText="contains drawing"/>
              <mx:DataGridColumn dataField="issue_at_shipment" minWidth="65"
                width="65"     headerText="issue at shipment"/>
              <mx:DataGridColumn dataField="rev_max_int_number" minWidth="65"
                width="65"      headerText="last rev"/>
            </mx:columns>

          </mx:DataGrid>
        </mx:VBox>
      </mx:HBox>
    </mx:VBox>

这是您可以在线查看的编译版本:

现在。。稍微调整一下窗口的大小,看看立柱的大小有多奇怪!我希望获得的行为是固定除description列之外的所有列,对于description列,我没有指定宽度,只有minWidth属性


谢谢

我想说的是将宽度绑定到您想要的值,这样它就不会调整大小:

var mySize:int = 60;
<mx:DataGridColumn width="{mySize}" />
var mySize:int=60;

让我知道,谢谢

只是未来搜索的注意事项:在(3.5b SDK)数据网格添加到显示列表(也称为动态添加的列)后添加的列上设置
minWidth
,可能会使整个网格处于非常糟糕的状态,其中水平滚动条拇指不准确地反映出比实际存在的网格更宽的网格

如果通过将列对象(具有.code>minWidth集)推送到数组并将该数组分配给
DataGrid.columns
来添加列,则网格会表现为认为它比实际宽:

  • 它将自身绘制得尽可能宽(忽略任何.right或.width值)
  • 它的水平滚动条拇指比可见宽度要宽
  • 无法滚动以使最右边的列可见
  • 滚动一个人能做的是非常慢的
解决方案是:不要这样做(也就是说,使用.
minWidth
属性)


干杯

maxWidth不存在。。另一种解决方案相当于直接分配它,除非我每隔几毫秒发送一次mySize变量。。那可不好!mySize绑定到datagridcolumn的宽度。。那么,难道它不总是在寻找神秘化,以看到和模仿它的价值吗?