2012-05-23 3 views
2

я иметь заранее DataGrid, в котором я 2 колонки и каждую строку столбца является редактором элементаСделать редактор элемент редактируемым из advancedatagrid в гибком

Теперь я хочу, чтобы изменить ячейку строки на двойной щелчок я попытался различные вещи, чтобы сделать его редактируемым. некоторые свойства написаны в этом коде.

я сделать редактируемым свойство справедливо для 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> 

, пожалуйста, помогите мне, это я делаю это правильно или там что-то не хватает в этом.

ответ

1

Есть несколько вещей неправильно с вашим кодом:

  • Вы хотите использовать пользовательские itemEditor, так что не rendererIsEditor="true".
  • Вы не можете использовать s:GridItemEditor в пределах AdvancedDataGrid. Это для Spark s:DataGrid.
  • Атрибут id не допускается в пределах <fx:Component>.
  • Использовать компоненты искры как itemEditor не так просто, как раньше с компонентами Halo. Я бы рекомендовал использовать mx:TextInput вместо s:TextInput. Если вам нужно использовать Spark, взгляните на MXAdvancedDataGridItemRenderer и Using a Spark item renderer with an 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>