加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex Vertical Datagrid

发布时间:2020-12-15 02:14:35 所属栏目:百科 来源:网络整理
导读:我可以有一个datagrid垂直显示数据而不是水平? 例如,如果这是我的dataprovider: array('firstname':'John','lastname':'Doe'),array('firstname':'Jack','lastname':'Jill') 我想要这样显示数据: Fields Value1 Value2Firstname John JackLastname Doe Ji
我可以有一个datagrid垂直显示数据而不是水平?

例如,如果这是我的dataprovider:

array('firstname':'John','lastname':'Doe'),array('firstname':'Jack','lastname':'Jill')

我想要这样显示数据:

Fields        Value1    Value2
Firstname     John      Jack
Lastname      Doe       Jill

等等….什么是最好的方式来实现这一点..如果我必须扩展datagrid组件,请说明如何..

解决方法

所以这是一个黑客…但事实证明,你不能轻易地改变火花datagrid的流.从我可以看出,你需要覆盖它内部的每个组件,这将需要很长时间. DataGrid使用自己的布局,它看起来非常适合1 row = 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>

好的,我做了什么?我只是旋转整个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度.其他那么它应该实际工作好吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读