DataGrid - редактировать выбранную строку при нажатии кнопки - PullRequest
0 голосов
/ 13 января 2010

У меня есть очень простая DataGrid с 2 столбцами, что-то вроде этого:

<mx:DataGrid id="grid" >
    <mx:columns>
        <mx:DataGridColumn dataField="name" headerText="Name"/>
        <mx:DataGridColumn dataField="date" headerText="Date"/>
    </mx:columns>
</mx:DataGrid>

То, что я пытаюсь сделать, это активировать редакцию выбранной строки, когда пользователь нажимает кнопку. До сих пор я не смог найти ни одного примера, как это сделать. Я уже пробовал 6 или 7 разных подходов, но не работает. Кто-нибудь знает, как это сделать?

Как вы получаете выбранную строку (НЕ selectedItem) DataGrid и как вы можете:

  • Измените ItemRenderEditor или ItemRenderer на лету только этой строки.
  • Или разрешите редактирование этой конкретной строки, не щелкая ее.

Это вопросы, на которые я не смог ответить

Помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 14 января 2010

Вы можете получить выбранную строку с помощью свойства grid.selectedIndex. Одна мысль для вас проблема:

  • Добавить «редактируемое» свойство к вашим элементам в таблице данных, которое по умолчанию равно false
  • При нажатии на кнопку установите grid.selectedItem.editable = true;
  • Измените средство визуализации элементов сетки на новое, которое отображает поля TextInput, если элемент редактируемый, или просто метку, если это не

Вы можете изменить средство визуализации элементов во время выполнения следующим образом:

grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);
...