Действительно ли DataGrid является необходимостью в WPF?

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

23
задан Community 23 May 2017 в 11:45
поделиться

7 ответов

DataGrids превосходны для отображения больших сумм табличных данных, связанных с запоминающим устройством.

, Но то, что произошло в мире WinForms, было то, что люди часто использовали их для всего, что потребовало многоэлементного списка прокрутки. Souped сторонний DataGrids скоро стал доступным, который позволил столбцам и полям содержать кнопки и ComboBoxes и значки, и т.д.

, DataGrid стал рабочей лошадью, потому что была потребность в чем-то, как что это могло быть подключено коаксиальным кабелем в поведение. Подобный произошел с DataTables, прежде чем универсальные наборы пришли - и когда Вы используете много DataTables, представление его в UI с DataGrid является путем наименьшего сопротивления.

я думаю, что, когда WPF вышел, много программистов как я все еще думало этим способом и искало порты WPF понятия DataGrid.

29
ответ дан Chris Wenham 29 November 2019 в 02:01
поделиться

Не может думать о лучшем управлении для отображения табличных данных, особенно в бизнес-приложениях, где Вы не хотите перестраивать колесо путем шаблонной обработки/разработки ItemsControl (Headered), чтобы заставить его вести себя как старый добрый DGV. Я уверен, что Вы видели это .

5
ответ дан radu_c 29 November 2019 в 02:01
поделиться

Никто не подвергает сомнению тот факт, что можно сделать управление DataGrid в WPF сами. То же может, вероятно, быть сказано о WinForms, хотя это было бы более трудно. Я реализовал некоторую функциональность с ListView - представляющий табличные данные, легко, Вы могли даже сказать, что это хорошо поддерживается. Однако объем кода, вручную написанный код, должен был сделать редактирование, ListView огромен.

бизнес-приложения обычно требуют редактирования многих таблиц, и Вы не хотите быть творческими, Вы хотите быть быстрыми. Вот почему DataGrid необходим, по-моему.

3
ответ дан Dragoljub Ćurčić 29 November 2019 в 02:01
поделиться

Да DataGrids никогда не будет уходить как существенные бизнес-компоненты UI. Люди любят свои электронные таблицы, и мы хотим совместно использовать в той любви!

Примечание, что MS поставка эти дополнительные средства управления - они создали Инструментарий WPF на CodePlex для обеспечения быстрого благоприятного поворота, стиля с открытым исходным кодом развертывания.

Это уже включает DataGrid и Календарь.

2
ответ дан Andy Dent 29 November 2019 в 02:01
поделиться

Да это! Среди многих других средств управления, которые мс не удалось поставить. (Datepicker, NumericControl)

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

1
ответ дан Nikos Tsokos 29 November 2019 в 02:01
поделиться

Это важно, но можно достигнуть почти того же эффекта с ListView, который использует GridView, не так ли?

1
ответ дан scmccart 29 November 2019 в 02:01
поделиться

После работы с WPF в течение приблизительно 2 лет теперь. Я сказал бы, что DataGrid является действительно просто прославленный ListBox (так как [почти] все в WPF лишено стиля).

можно было разработать ListBox, чтобы взять какой-то Объект и показать "рекордное" управление для каждой записи. В зависимости от того, как гибкий они сделаны, они могли автоматически корректироваться на основе переданного объекта.

0
ответ дан Phobis 29 November 2019 в 02:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: