所以这是一个黑客......但事实证明,你不能轻易改变火花datagrid的流量。从我所知道的情况来看,你需要覆盖它内部的每个组件,这需要很长时间。 DataGrid使用自己的布局,它似乎非常设置1行= 1的数据主题。
所以......开始破解:
<s:DataGrid rotation="270">
<s:columns>
<s:ArrayList>
<s:GridColumn itemRenderer="unrotate" headerRenderer="headerUnrotate"/>
<s:GridColumn itemRenderer="unrotate" headerRenderer="headerUnrotate"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
好了...我做了什么?我只是旋转整个数据网格。我该如何解决这个问题,所以我们不必歪曲头部?我取消旋转itemrenderer中的每一列。 HOLY HACK蝙蝠侠。
这里的项目渲染unrotate:
<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" clipAndEnableScrolling="true">
<fx:Script>
<![CDATA[
override public function prepare(hasBeenRecycled:Boolean):void {
lblData.text = data[column.dataField]
}
]]>
</fx:Script>
<s:Label id="lblData" top="9" left="7" rotation="90"/>
</s:GridItemRenderer>
标题代码是相似的,只是旋转90,回到我们开始的地方。我知道这个解决方案并不完美,但它是我能想到的最好,没有完全搞乱DataGrid类
你可能还需要重写皮肤以提供一个WIDER头......这实际上是一个TALLER头我们旋转270度。其他呢,它应该实际上工作好吧...
+1好问题, – Ryan 2011-06-02 13:17:52
Flex 4.5 Datagrid或MX数据网格? Flex 3或4? – 2011-06-02 13:49:18
oh im sorry ... flex 4 – Lin 2011-06-02 14:50:12