我有一个高级数据网格,其中有 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>