Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. DataGrids превосходны для отображения больших сумм табличных данных, связанных с запоминающим устройством.
, Но то, что произошло в мире WinForms, было то, что люди часто использовали их для всего, что потребовало многоэлементного списка прокрутки. Souped сторонний DataGrids скоро стал доступным, который позволил столбцам и полям содержать кнопки и ComboBoxes и значки, и т.д.
, DataGrid стал рабочей лошадью, потому что была потребность в чем-то, как что это могло быть подключено коаксиальным кабелем в поведение. Подобный произошел с DataTables, прежде чем универсальные наборы пришли - и когда Вы используете много DataTables, представление его в UI с DataGrid является путем наименьшего сопротивления.
я думаю, что, когда WPF вышел, много программистов как я все еще думало этим способом и искало порты WPF понятия DataGrid.
Не может думать о лучшем управлении для отображения табличных данных, особенно в бизнес-приложениях, где Вы не хотите перестраивать колесо путем шаблонной обработки/разработки ItemsControl (Headered), чтобы заставить его вести себя как старый добрый DGV. Я уверен, что Вы видели это .
Никто не подвергает сомнению тот факт, что можно сделать управление DataGrid в WPF сами. То же может, вероятно, быть сказано о WinForms, хотя это было бы более трудно. Я реализовал некоторую функциональность с ListView - представляющий табличные данные, легко, Вы могли даже сказать, что это хорошо поддерживается. Однако объем кода, вручную написанный код, должен был сделать редактирование, ListView огромен.
бизнес-приложения обычно требуют редактирования многих таблиц, и Вы не хотите быть творческими, Вы хотите быть быстрыми. Вот почему DataGrid необходим, по-моему.
Да DataGrids никогда не будет уходить как существенные бизнес-компоненты UI. Люди любят свои электронные таблицы, и мы хотим совместно использовать в той любви!
Примечание, что MS поставка эти дополнительные средства управления - они создали Инструментарий WPF на CodePlex для обеспечения быстрого благоприятного поворота, стиля с открытым исходным кодом развертывания.
Это уже включает DataGrid и Календарь.
Да это! Среди многих других средств управления, которые мс не удалось поставить. (Datepicker, NumericControl)
мс должна сначала дать нам инструменты, чтобы сделать задание, которое является наименьшим, которое я ожидаю от среды программирования с шумихой wpf.
Это важно, но можно достигнуть почти того же эффекта с ListView, который использует GridView, не так ли?
После работы с WPF в течение приблизительно 2 лет теперь. Я сказал бы, что DataGrid является действительно просто прославленный ListBox (так как [почти] все в WPF лишено стиля).
можно было разработать ListBox, чтобы взять какой-то Объект и показать "рекордное" управление для каждой записи. В зависимости от того, как гибкий они сделаны, они могли автоматически корректироваться на основе переданного объекта.