DataGrid — редактирование выбранной строки при нажатии кнопки.

StackOverflow https://stackoverflow.com/questions/2059590

Вопрос

У меня есть очень простой DataGrid с двумя столбцами, примерно так:

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

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

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

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

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

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

Это было полезно?

Решение

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

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

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

grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top