0

我有一个 AdvancedDataGrid(其 dataProvider 是从我的主 mxml 文件绑定的变量,不确定这是否与我的问题有关)。我将 AdvancedDataGridColumn 的可编辑属性之一设置为 true,当我单击 UI 中的单元格时,它实际上是可编辑的。但是当我按下回车/移动到另一个单元格时,旧值会返回,新输入的值会丢失。有人知道为什么会这样吗?我是否必须手动更改 dataProvider 中提供的变量?...我认为这会自动发生,对吗?我会很感激任何帮助!

谢谢。

4

1 回答 1

0

当我编辑一个字段并按回车键然后单击按钮查看跟踪输出时,这会正确跟踪:

      <?xml version="1.0" encoding="utf-8"?>
      <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" applicationComplete="init()">
        <fx:Declarations>
          <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>
        <fx:Script>
          <![CDATA[
            import mx.collections.HierarchicalData;
            [Bindable]
            private var companyHierarchy:HierarchicalData;

            private var companyData:XML = <data>
                        <company name="Employees">
                          <department name="Unit 1">
                            <employee name="Dave" func="C# Developer"/>
                            <employee name="Bob" func="AS3 Developer"/>
                            <employee name="Clair" func="AS3 Architect"/>
                          </department>
                          <department name="Unit 2">
                            <employee name="John" func="ORACLE Developer"/>
                            <employee name="Sandra" func="HTML Developer"/>
                          </department>
                        </company>
                      </data>;


            private function init():void
            {
              companyHierarchy = new HierarchicalData(companyData.company);
            }

            private function checkSetData():void
            {
              trace(companyData);
            }
          ]]>
        </fx:Script>
        <mx:AdvancedDataGrid id="test" width="500" height="500" dataProvider="{companyHierarchy}"
                   displayItemsExpanded="true" editable="true" enabled="true">
          <mx:columns>
            <mx:AdvancedDataGridColumn dataField="@name"
                           headerText="Companies"/>
            <mx:AdvancedDataGridColumn dataField="@func"
                           headerText="Function"/>
          </mx:columns>
        </mx:AdvancedDataGrid>
        <s:Button x="205" y="508" label="Button" click="checkSetData()"/>
      </s:Application>
于 2012-07-23T03:49:38.037 回答