DataGrid - редактировать выбранную строку при нажатии кнопки
У меня есть очень простой 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 ответ
Решение
Вы можете получить выбранную строку с помощью свойства grid.selectedIndex. Одна мысль для тебя проблема:
- Добавьте "редактируемое" свойство к вашим элементам в сетке данных, которое по умолчанию имеет значение false
- При нажатии на кнопку установите grid.selectedItem.editable = true;
- Измените средство визуализации элементов сетки на новое, которое отображает поля TextInput, если элемент редактируемый, или просто метку, если это не так
Вы можете изменить средство визуализации элементов во время выполнения следующим образом:
grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);