2

2つの列があり、列のすべての行がアイテムエディターである高度なデータグリッドがあります

ダブルクリックで行セルを編集したいので、編集可能にするためにさまざまなことを試しましたが、このコードにはいくつかのプロパティが書かれています。

colmns Grid の編集可能なプロパティを true にし、renderIsEditor を true に設定しようとしました...

 <mx:AdvancedDataGrid id="varGrid"  width="100%" top="7" bottom="5" left="7" right="7" rowCount="15"
                            sortableColumns="true" editable="true">
            <mx:columns>
                <mx:AdvancedDataGridColumn headerText="Name" editable="true" dataField="name" sortable="true" editorDataField="text" rendererIsEditor="true">
                    <mx:itemEditor>
                        <fx:Component>
                            <s:GridItemEditor >
                                <s:TextInput id="variableName" text="@{value}" restrict="^\\{\\}" width="100%" height="100%" maxChars="250" 
                                            />
                            </s:GridItemEditor>
                        </fx:Component>
                    </mx:itemEditor>
                </mx:AdvancedDataGridColumn>

                <mx:AdvancedDataGridColumn headerText="Value" editable="true" dataField="lastValue" sortable="true" rendererIsEditor="true">
                    <mx:itemEditor>
                        <fx:Component>
                            <s:GridItemEditor>
                                <s:TextInput text="@{value}" restrict="^\\{\\}" width="100%" height="100%" maxChars="250"/>
                            </s:GridItemEditor>
                        </fx:Component>
                    </mx:itemEditor>
                </mx:AdvancedDataGridColumn>
            </mx:columns>

            <s:AsyncListView list="{data.variables}"/>
        </mx:AdvancedDataGrid>

私はそれを正しくやっているのですか、それともこれに欠けているものがありますか。

4

1 に答える 1

1

コードにはいくつか問題があります。

  • カスタムを使用したいitemEditorので、設定しないでくださいrendererIsEditor="true"
  • s:GridItemEditor内では使用できませんAdvancedDataGrid。スパーク用s:DataGridです。
  • id属性は 内では使用できません<fx:Component>
  • Spark コンポーネントの使用itemEditorは、Halo コンポーネントの使用ほど簡単ではありません。mx:TextInputの代わりにを使用することをお勧めしますs:TextInput。Spark を使用する必要がある場合は、MXAdvancedDataGridItemRendererMX コントロールで Spark アイテム レンダラーを使用する を参照してください。

以下は、これらの問題をすべて修正し、mx:TextInputコンポーネントを使用するコード スニペットです。

<mx:AdvancedDataGrid id="varGrid" width="100%" top="7" bottom="5" left="7" right="7" rowCount="15" sortableColumns="true"
                     editable="true">
    <mx:columns>
        <mx:AdvancedDataGridColumn headerText="Name" editable="true" dataField="name" sortable="true" editorDataField="text">
            <mx:itemEditor>
                <fx:Component>
                    <mx:TextInput restrict="^\\{\\}" width="100%" height="100%" maxChars="250"/>
                </fx:Component>
            </mx:itemEditor>
        </mx:AdvancedDataGridColumn>

        <mx:AdvancedDataGridColumn headerText="Value" editable="true" dataField="lastValue" sortable="true">
            <mx:itemEditor>
                <fx:Component>
                    <mx:TextInput restrict="^\\{\\}" width="100%" height="100%" maxChars="250"/>
                </fx:Component>
            </mx:itemEditor>
        </mx:AdvancedDataGridColumn>
    </mx:columns>

    <s:AsyncListView list="{data.variables}"/>
</mx:AdvancedDataGrid>
于 2012-06-06T21:07:30.843 に答える