Кто на самом деле использует DataGrid / GridView / FormView / etc в производственных приложениях? - PullRequest
8 голосов
/ 20 августа 2008

Любопытно, если другие чувствуют то же самое, что и я. Для меня, такие элементы управления, как datagrid / gridview / formview / etc. отлично подходят для презентаций или только для демонстрации. Чтобы потратить время и настроить эти элементы управления, переопределить их поведение по умолчанию (подключиться к их глупым событиям и т. Д.) - большая головная боль. Единственный элемент управления, который я использую, - это повторитель, поскольку он предлагает мне наибольшую гибкость по сравнению с остальными.

Короче говоря, они довольно распространены.

Я бы предпочел сплести свой собственный html / css, использовать свои собственные пользовательские запросы на подкачку страниц.

Опять же, если вам нужно быстро открыть страницу, эти элементы управления хороши (особенно если вы пытаетесь убедить людей в простоте .NET разработки).

Я должен быть в меньшинстве, иначе MS не потратила бы столько времени на разработку этих типов элементов управления ...

Ответы [ 26 ]

2 голосов
/ 02 ноября 2008

Для моих корпоративных проектов в интрасети, сетки являются обязательными. Они являются основой для удобной отчетности на платформе веб-форм ASP.NET.

Простота дизайна Вставьте сетку на страницу. Вставьте объекты BoundField для простой привязки. asp:HyperlinkField для удобного связывания.

Binding

Вы можете связать сетки несколькими способами:

  • коллекция объектов (List, ArrayList, Hashtable или любая простая коллекция)
  • SqlDataReader в вашем коде (да, это потребовало бы SQL на вашем уровне представления)
  • SqlDataSource (укажите сохраненный процесс. Все столбцы в наборе результатов отображаются непосредственно в столбцы сетки. Это очень быстро и грязно, если отчет плохо имитирует объект вашего домена. суммирования разных вещей.)
  • objectDataSource (привязка к методу вашего BL)

Для тех, кто может вызвать SqlDataSource и ObjectDataSource, вам не всегда нужно объявлять их в ваших .aspx.cs или .aspx.vb. Я не защищаю их здесь, просто указываю на возможности.

Я не думаю, что вы можете сбрасывать со счетов преимущества RAD встроенного GridView и других сторонних сетей. Типы управления любят и хотят табличные данные.

2 голосов
/ 20 августа 2008

Мне очень нравится Telerik Radgrid. Их продукт не из дешевых, но вы получаете множество элементов управления и функций. И поддержка привязки данных довольно хороша, как с помощью простого способа привязки источника данных asp.net, так и с помощью более настраиваемого способа обработки ваших собственных данных.

2 голосов
/ 09 марта 2010

Компоненты, такие как GridView / FormView / DataGrid, следуют правилу 80/20.

Это означает, что в 80% случаев, когда вы используете их для простых целей, они выполняют свою работу и чрезвычайно просты в реализации.

Но в 20% случаев вы будете пытаться построить что-то сложное (или странное), и вам придется прыгать через дюжину обручей и разными способами изгибать код, пытаясь реализовать решение.

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

2 голосов
/ 16 июля 2010

Я широко использую их в корпоративной среде, в которой я работаю, и сейчас я работаю с ней. Люди, которые их не используют, напоминают мне обо всех тех разработчиках "Я построил это с помощью Блокнота" прошлых лет. Какой смысл использовать asp.net, если вы не собираетесь экономить время?

2 голосов
/ 23 ноября 2008

Я в значительной степени отказался от сеток, как только начал проектировать с пользовательских историй, а не с требований таблиц базы данных. И никогда не редактируемые сетки. Старый способ заключался в том, как мы принуждали пользователей выполнять ввод данных / обслуживание таблиц для наших систем, и они никогда не соответствовали их рабочему процессу - любая реальная работа в конечном итоге переходила из одной главной / дочерней формы в другую.

И пользователи так и не поняли - но они точно знали, что наши приложения труднее использовать, чем следовало бы.

Исключение составляют аналитические приложения. Но их относительно немного, и они в основном доступны только для чтения.

2 голосов
/ 05 марта 2009

Мне тоже хотелось бы увидеть расширенный ответ о том, почему GridView и др. Считаются «раздутым ПО». Я широко использовал GridView, а также сторонние продукты (Telerik и т. Д.) И обнаружил, что для большинства внутренних и некоторых внешних проектов они отлично работают. Они быстрые, простые в использовании, настраиваемые - и BEST - я могу передать их кому-то, кто знает GridViews, который затем может легко подобрать то, где я остановился. Если бы мне пришлось вручную закодировать все многочисленные приложения / элементы управления, затраты следующего человека, выясняющего, что происходит, были бы огромными даже в самых лучших обстоятельствах.

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

2 голосов
/ 12 ноября 2008

Мы используем Infragistics UltraWebGrid + LinqDataSource в наших приложениях для внутренней сети.

Это дает нам ajax, сортировку, фильтрацию, подкачку страниц на всей стороне сервера.

«Экспорт в Excel» также является убийственной функцией.

У нас более 5000 пользователей, много данных, отличная производительность.

1 голос
/ 30 июля 2009

Раньше я никогда не использовал стандартную сетку WinForms, но на моей последней работе мы широко использовали ComponentOne FlexGrid, и она прекрасно работала. Были некоторые неприятности с попытками получить все настройки, которые мы хотели, но в целом это сэкономило нам массу времени и дало прекрасные результаты.

В настоящее время я работаю с Silverlight 3 и RIA Services и не могу представить, что пытаюсь создать то, что мы делаем, без элементов управления DataGrid и DataForm. Экономия времени значительно превышает любые накладные расходы.

1 голос
/ 12 ноября 2008

GridView - это прекрасный и очень мощный элемент управления, который хорошо работает с CSS или темами. Единственное, что меня раздражает, это то, что свойство VirtualCount было удалено, когда старый DataGrid 1.1 был заменен на GridView в asp.net 2.0, и это было полезно для реализации пользовательской подкачки страниц. Однако то же самое можно сделать через адаптеры данных.
Хотя работа с повторителями, возможно, более понятна, и вы имеете полный контроль над отображаемым html, я бы не советовал идти по этому пути, потому что его сложнее реализовать и поддерживать.

1 голос
/ 23 августа 2008

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

...