Динамический фильтр данных (стиль FogBugz) с использованием ASP.NET MVC - PullRequest
1 голос
/ 02 июня 2011

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

Обычно мы отображаем кучу данных в сетках или списках.Данные обычно вращаются вокруг интересной точки зрения, давайте предположим, что Person для примера.У человека есть: 1. Имя 2. Фамилия 3. Телефон № 4. Электронная почта 5. Адрес (дочерняя сущность) 6. Дата создания 7. Дата изменения

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

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

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

Есть ли что-нибудь, что позволит мне это сделать?Я использую ASP.NET MVC, C # и открыт для Entity Framework, NHibernate или LINQ To SQL

Я знаю, что Dynamic Data делает нечто похожее, но не знаю, были ли другие варианты.

Любые идеи будут очень признательны.

Спасибо, Anup

1 Ответ

0 голосов
/ 02 июня 2011

Вы можете посмотреть ExtJS Grid (коммерческий продукт), который поддерживает все виды фильтрации по сетке. Для сетки jquery вы можете начать с jqGrid filtering . Большинство коммерческих наборов инструментов MVC UI поддерживают фильтрацию.

В бэкэнде вам необходимо сгенерировать динамический запрос, например Dynamic LINQ Where Extension (C #) .

Я использую сетку ExtJS с измененной версией вышеупомянутого расширения LINQ с поддержкой DateTime.

...