0

AdvancedDataGrid があります (その dataProvider は、メインの mxml ファイルからバインドされている変数ですが、これが私の問題に関連しているかどうかはわかりません)。AdvancedDataGridColumn の編集可能なプロパティの 1 つを true に設定しています。UI でセルをクリックすると、実際に編集可能になります。しかし、Enter キーを押して別のセルに移動すると、古い値が返され、新しく入力された値が失われます。なぜそれが起こっているのか、誰にもアイデアがありますか?dataProvider で提供される変数を手動で変更する必要がありますか?...それは自動的に正しく行われると思いますか? 助けていただければ幸いです!

ありがとう。

4

1 に答える 1

0

フィールドを編集してEnterキーを押し、ボタンをクリックしてトレース出力を表示すると、これは正しくトレースされます。

      <?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 に答える