0

我有一些带有非常标准的单行 itemrenderers 的 DataGrid,但需要为整行使用自定义的两行 itemeditor。我想/必须这样做,因为我不能单独编辑每个单元格,但需要先编辑整个对象才能保存它。

到目前为止,我遇到了两个大问题:

  1. 如何放置/显示 itemeditor 以便它实际上适用于整行?
  2. 如何强制 DataGrid 更改已编辑条目的行高,以便两行 itemeditor 不会渗入下面的行?

基本上,我想要的是: DataGrid 项目翻转 DataGrid 项目编辑


我的数据网格:

<s:DataGrid id="myDataGrid" height="100%" width="100%" sortableColumns="false" editable="true" variableRowHeight="true">
    <s:columns>
        <s:ArrayCollection>
            <s:GridColumn dataField="foo" itemEditor="myItemEditor"/>

            <s:GridColumn dataField="bar" itemEditor="myItemEditor"/>

            <s:GridColumn width="24" itemRenderer="myItemRenderer"/>
        </s:ArrayCollection>
    </s:columns>
</s:DataGrid>

我的项目编辑器:

<?xml version="1.0" encoding="utf-8"?>
<s:GridItemEditor xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx">
    <fx:Script>
        <![CDATA[
            override public function prepare():void {
                itemLongname.text = this.data["longName"];
                itemShortname.text = this.data["shortName"];
            }
        ]]>
    </fx:Script>

    <s:layout>
        <s:VerticalLayout/>
    </s:layout>

    <s:Group>
        <s:layout>
            <s:HorizontalLayout/>
        </s:layout>

        <s:TextInput id="itemLongname"/>

        <s:TextInput id="itemShortname"/>
    </s:Group>

    <s:Group>
        <s:layout>
            <s:HorizontalLayout/>
        </s:layout>

        <s:Rect width="100%"/>

        <s:Button id="itemSaveButton" label="Save"/>

        <s:Button id="itemCancelButton" label="Cancel"/>
    </s:Group>
</s:GridItemEditor>
4

2 回答 2

0

我认为这对你有帮助:)

http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7bf2.html#WS2db454920e96a9e51e63e3d11c0bf65e9f-7fd4

于 2012-05-17T09:01:40.717 回答
0

这是另一种选择:http ://blog.flexicious.com/post/Flexicious-30-Release-Grid-Edition.aspx (项目编号 5)。

在此处输入图像描述

于 2014-01-24T20:03:22.910 回答