Инструменты пользователя

Инструменты сайта


axapta:использованиеlistviewвместоgrid

Программирование > АнтиПаттерны

Существует практика использования элемента управления ListView там где можно вместо этого сделать Grid и временную таблицу.

В результате:

  • вместо декларативного описания модели данных временной таблицы, она описывается кодом инициализации ListView
  • не используется вся мощь MorphX: пользователь не может с такой же легкостью сортировать, фильтровать и менять параметры отображения информации, если этого заранее не предусмотрел разработчик

Однако есть ряд случаев, когда вариант с использованием ListView если и не более удачен, то хотя бы имеет право на существование:

  • Для того, чтобы Grid отобразил данные они должны иметь определенный формат - Query. Часто источником данных является внешние файлы данных, наборы данных ResultSet, xml - файлы и т.д. - все то, что мы не можем преобразовать в Query, а следовательно и непосредственно отобразить на Grid. Да, существует стандартный прием - создание временной таблицы, заполенение ее данными и отображение ее на Grid, но стоит ли к нему прибегать - зависит от конкретного случая; дать универсальный совет здесь невозможно. Форма АктивныеПользователи хорошо демонстрирует данное утверждение.
  • Когда нам нужно нестандартное форматирование, цветовое выделение, многострочные заголовки и т.д.
  • Когда нам нужно нестандартное поведение таблицы - фильтрация по display- и edit- полям, работа в режиме Virtual ListView и т.д.

То есть, если поведение Grid и представление данных в нем Вас устраивает, то использовать ListView смысла нет, но если вас интересуют нестандартные возможности и дополнительное время на разработку Вас не пугает, то List View подходящая кандидатура для старта.

axapta/использованиеlistviewвместоgrid.txt · Последнее изменение: 2018/04/13 22:43 (внешнее изменение)