динамически добавлять строки в сетку данных - PullRequest
0 голосов
/ 04 апреля 2011

Я работаю с Flex4 mx: Datagrid и пытаюсь динамически добавлять строки.

В моей таблице данных есть n строк в данный момент времени.Последняя строка содержит текст «Нажмите, чтобы добавить строку», т.е. когда пользователь щелкает эту ячейку, ячейка становится редактируемой, и пользователь может добавлять данные.Как только он нажимает клавишу ввода, автоматически добавляется новая строка с последней ячейкой, снова содержащей текст «Нажмите, чтобы добавить строку».Я смог справиться с этим, обновив поставщик данных в сетке данных для события "itemEditEnd".

Проблема, которую я пытаюсь решить, заключается в следующем: в общем случае, когда пользователь редактирует любую ячейку в столбцеи нажмите Enter, ячейка в следующем ряду автоматически станет редактируемой.Однако, поскольку в моем случае я обновляю поставщик данных, когда пользователь нажимает клавишу ввода, поэтому последний элемент не становится редактируемым.Я пробовал следующие обходные пути, но ни один из них не работал:

  1. , вызывающий «createItemEditor» после события updateCompete.
  2. определение события таймера в функции «itemEditEnd» и вызов «createItemEditor» послетаймер завершает работу.

Я уверен, что я делаю здесь какую-то глупую ошибку, но не могу ее найти.Буду признателен за любую помощь.

Спасибо, Капиль

Ответы [ 2 ]

0 голосов
/ 06 апреля 2011

Я нашел решение проблемы.Проблема заключалась в неправильном использовании «createItemEditor».Кажется, что правильный способ сделать это - использовать «editedItemPosition».Когда это свойство изменяется, оно автоматически отправляет событие propertyChange.

Таким образом, вместо использования «createItemEditor», когда я устанавливаю следующее, все работает идеально:* Спасибо, Капиль

0 голосов
/ 05 апреля 2011

Я думаю, что у него всегда есть последняя строка, редактируемая после создания новой или редактирования строки. Кажется, вы не обновляете индекс строки, чтобы установить ее редактируемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...