2010-05-24 2 views
7

Я разрабатываю коммерческое приложение MVC2, которое требует сетки с обновлением обратного вызова в той или иной форме для поддержки 10 000+ строк. Он также должен поддерживать относительно богатый контент (значки, многострочные описания и т. Д.). Хотя для этого требуются обычные функции подкачки/прокрутки/сортировки, для группировки не требуется поддержка. Так что ничего особенного.Какой datagrid использовать для проекта ASP.NET MVC2?

Коммерческие решетки, на которые я смотрел, были Component Art и Telerik, которые выглядят довольно хорошо, но могут быть немного ОТТ для того, что мне нужно. Они также составляют $ 800 и $ 999 соответственно (1 разработчик).

Я также посмотрел на jqGrid и сетку из MvcContrib. Они выглядят нормально, но для коммерческого приложения я обеспокоен тем, что это могут быть рискованные варианты - хотя может быть и не так.

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

FYI Я использую EF4 и C#.

ответ

5

У меня довольно много опыта работы с jqGrid, сетями от DevExpress и telerik, а также ExtJS. Безусловно, моя любимая группа - jqGrid. Меня не интересует отсутствие поддержки или проект, который уходит. Недавно они представили переработанную сетку для использования с MVC: http://www.trirand.com/blog/?p=639

telerik и DevExpress оба отлично по-своему. У моего друга были проблемы с моделью телерисковой модели, и я испытал довольно много «html bloat» из сетки DevExpress. telerik имеет большую поддержку для выполнения таких операций, как переупорядочение столбцов на стороне клиента, в то время как сетка DevExpress требует обратного вызова для этого.

ExtJS замечательно, но я действительно чувствую, что это очень тяжелая сетка JavaScript. Производительность в IE может быть ужасной с сетью ExtJS.Как правило, это хорошо, если у вас нет большого количества столбцов или не пытайтесь помещать больше одной сетки на странице. Вы, конечно же, не захотите помещать сетки ExtJS в элементы управления Tab, так как возникают всевозможные проблемы, когда сетка визуализируется на невидимый элемент.

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

Надеюсь, что это поможет, и удачи.

+0

Джефф, это отличный совет. Я кратко посмотрел на jqGrid, но теперь рассмотрю полную оценку этого. Silverlight было бы неплохо, но на самом деле это не вариант для этого проекта. –

4

Честно говоря, вы можете разработать свой собственный с помощью MVC довольно легко, предоставляя вам все, что вам нужно. Хотя я полагаю, что если вам нужно что-то быстрое, что работает, сетка MvcContrib великолепна.

+0

Спасибо, Крис. Можете ли вы указать мне в сторону любых рекомендуемых образцов или ресурсов? –

+0

Вы можете начать с цикла foreach, который отображает одну строку таблицы с каждой итерацией –

+0

+1 для MvcContrib. Я использую его, для большинства задач сетки он будет работать нормально. Если вы ищете функциональность uber, Telerik или DevExpress - это путь. –

0

Существует сетка DevExpress, такая же, как Telerik, которая снова может быть над вами. Однако вы можете купить сетку самостоятельно, а не весь пакет, хотя, возможно, не стоит этого делать, поскольку сетка составляет почти половину стоимости пакета.

+0

Спасибо - лучше, если сетка - это отдельный продукт, да. Однако я не вижу упоминания о MVC - или я пропустил это? –

+0

Хорошо, что я натолкнулся на это: http://www.devexpress.com/Support/Center/KB/p/K18375.aspx, так что он поддерживает MVC2 - нужно больше читать об этом, хотя не упоминается их «брошюра» '. –

+0

Это хорошая точка. MVC - новое дополнение для DevExpress. Я не могу сказать, что я пробовал его за пределами веб-форм, но, возможно, это не лучший выбор, если у вас нет времени экспериментировать с пробной версией. – PeteT

0

Мой последний снимок компонентов для ASP.NET MC не был успешным. Его гораздо сложнее иметь controll для MVC, а затем для старой школьной ASP.NET.

  • маршрутизации Controll ожидает должен МАПП красиво маршрутизации вашего приложения
  • вещи получить гораздо сложнее, когда у вас есть более 1 сетку на странице
  • если Controll должен работать на не- Javascript клиенты, поддерживающие ваш выбор еще более ограничены
  • если задняя кнопка браузера должна работать ваш выбор еще более ограничен

в моем случае оказалось, что это было намного лучше использовать простые html и jquery для реализации подкачки, сортировки и фильтрации для таблицы. Я бы нарисовал линию, если ваш сайт является более общедоступным веб-сайтом (например, моим) или приложением, имеющим веб-интерфейс.

+0

Hi Malcolm. Я думаю, что за последние несколько недель я пережил аналогичный опыт. Наше приложение представляет собой широкомасштабное корпоративное веб-приложение с интенсивным использованием данных со значительным количеством относительно сложных экранов (несколько элементов управления, сетка и т. Д.). Я боролся с переходом от ASP.NET к MVC - не из-за архитектуры/подхода, а из-за сложности вокруг предоставления отличного пользовательского опыта без огромных инвестиций в jQuery и связанные с ними (ранние стадии) элементы управления. Это слишком рискованно для нас, и мы снова вернулись к веб-формам ASP.NET 4.0. Без сомнения, я пересматриваю MVC! Thx –

+0

Я думаю, что вы сделали правильный выбор. Мой проект является общедоступным веб-сайтом, и MVC была хорошей основой для использования. Для вашего проекта Viewstate швы, как подарок с небес. –

0

Я недавно исследовал об этом, и победа была jQgrid для достижения лучшей!

+0

Да, согласитесь. JQGrid имеет множество полезных функций, легко программировать, профессионально выглядеть, и есть много статей, которые помогут вам извлечь максимальную пользу из него. – Peanut

1

Посмотрите на набор данных инструментария MVC Controls Toolkit. Он выглядит довольно гибким. Он позволяет редактировать, удалять, вставлять и подкачки. Кроме того, очень легко перемещать изменения в БД в контроллере. Посмотрите на это here.