Flex CheckBox ItemRenderer не привязан к объекту? - PullRequest
0 голосов
/ 12 июня 2011

У меня есть класс Actionscript, который мы назовем Person, чтобы упростить пример. Я хочу, чтобы DataGrid заполнялось Person объектами, в которых есть столбцы, отображающие такие вещи, как имя, день рождения и т. Д. Все это хорошо и просто, но я также хотел бы добавить столбец с флажком для выбора определенных людей в DataGrid. Пример использования может быть следующим:

  1. Показать всех людей.
  2. Пользователь устанавливает флажок рядом с каждым человеком, указывая, что он хочет предпринять какие-либо действия для этих выборов.
  3. Некоторые действия предпринимаются для выбора пользователя, когда пользователь нажимает кнопку.

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

Мне нравится безопасность типов наличия жестких классов, таких как Person, но я не знаю, как решить эту, казалось бы, простую проблему, чтобы я мог перебирать объекты и определять, выбран человек или нет. Любые советы о том, как это сделать? Заранее спасибо.

1 Ответ

0 голосов
/ 12 июня 2011

Я думаю, что у вас уже есть ответ:

Кажется, что общим решением этого является создание свойства Selected для каждого объекта Person, но это не совсем хороший вариант для меня,Объект Person используется во всем приложении, и кажется очень нечистым иметь свойство Selected, которое действительно не относится к классу Person.

Цель вашего "объекта Person" состоит в том, чтобыдержать состояние для одного объекта (Person).В этом случае «выбранный» является совершенно допустимым значением, которое нужно добавить, поскольку он относится к «состоянию» этого человека по отношению к вашему приложению.

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

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