使项目编辑器在 flex 中可编辑高级数据网格



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

现在我想双击编辑行单元格,我尝试了各种方法使其可编辑某些属性是在此代码中编写的。

我使可编辑属性成为 colmns 网格的真实属性,并且我还尝试了 rendrerIsEditor 将其设置为真......

 <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>

请帮助我,是我做得对还是缺少什么。

你的代码有几个问题:

  • 您想使用自定义itemEditor,因此不要设置rendererIsEditor="true"
  • 您不能在AdvancedDataGrid中使用s:GridItemEditor。这是为了火花s:DataGrid.
  • id属性不允许在<fx:Component>
  • 。使用
  • Spark 组件itemEditor并不像以前使用 Halo 组件那样容易。我建议您使用mx:TextInput而不是s:TextInput。如果您需要使用 Spark,请查看 MXAdvancedDataGridItemRenderer 和 将 Spark 项渲染器与 MX 控件一起使用。

下面是一个代码片段,用于纠正所有这些问题并使用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>

相关内容

  • 没有找到相关文章

最新更新