2

我有一个高级数据网格,其中我有 2 列,该列的每一行都是一个项目编辑器

现在我想在双击时编辑行单元格我尝试了各种方法以使其可编辑一些属性是用这段代码编写的。

我使 colmns Grid 的可编辑属性为 true,并且我尝试使用 rendrerIsEditor 将其设置为 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:GridItemEditorAdvancedDataGrid. 这是为 Spark 准备的s:DataGrid
  • id属性不允许在<fx:Component>.
  • 使用 Spark 组件不像itemEditor以前使用 Halo 组件那么容易。我建议您使用.mx:TextInput而不是s:TextInput. 如果您需要使用 Spark,请查看MXAdvancedDataGridItemRendererUsing a Spark item renderer with a MX control

下面是纠正所有这些问题并使用该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 回答