Элемент управления JQuery GridView - PullRequest
13 голосов
/ 09 апреля 2009

Существует ли что-нибудь подобное?

То, что я ищу, - это элемент управления, который будет на стороне клиента, с возможностями редактирования, отмены строк в GridView.

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

РЕДАКТИРОВАНИЕ:

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

Кажется, вы все используете ASP.net MVC и упоминаете, что эти наборы инструментов хороши в этом. Однако я использую веб-формы ASP.net. Хорошо ли играют эти фреймворки со старым вкусом ASP.net?

Ответы [ 9 ]

8 голосов
/ 09 апреля 2009

Клиентские рамки

В дополнение к jqGrid есть несколько других гридов фреймворка для JavaScript, с которыми я недавно играл:

  1. Flexigrid : на основе jQuery, нет Возможности редактирования пока нет, но планируется.

  2. GridPanel Ext's : Ext js is другая структура JavaScript, которая взаимодействует с jQuery.

  3. Таблица данных YUI : пользователь Yahoo Интерфейс (YUI) это еще один рамки с редактируемой сеткой управление.

Это все компоненты на стороне клиента: они работают в браузере пользователя, отключенном от кода вашего сервера. Как писал Tracker1 и несколько других, вам придется либо самостоятельно написать методы Ajax, чтобы подключить клиентскую сетку к серверу, либо вы можете попытаться использовать преимущества существующих оболочек, таких как:

Опции на стороне сервера

  1. Оболочки Ext от Coolite для .NET

  2. Одна из текущих библиотек-оболочек YUI .NET (YuiDotNet или Yui.NET). Я не думаю, что что-то из этого еще реализует оболочку для DataTable, но они могут показать вам способ сделать это.

Соединение клиента и сервера

Если вы не много работали с Ajax или много работали с этими структурами javascript, будьте готовы к некоторой кривой обучения: когда вы начнете их использовать, вам нужно будет постоянно помнить о том, что происходит на сервере и что происходит на клиенте (и когда!).

Если вы используете одну из перечисленных выше прямых библиотек javascript, в отличие от оболочки .NET, вам придется написать серверный метод для обработки отправки данных и предоставить его клиенту с использованием выбранной вами технологии. (Действия контроллера MVC JsonResult, создание WebMethods / ScriptMethods и т. Д.).

Вопросы по переполнению стека

Использование ExtJS в ASP.NET и Возврат данных из ASP.net в сетку ExtJS - они сосредоточены на элементах управления Ext, но ответы содержат много хорошей общей информации о подключении нового поколения элементов управления Javascript Framework к серверным приложениям.

Хорошее управление сеткой в ​​Excel-подобном Asp.Net - вас также могут заинтересовать ответы на этот вопрос, особенно если учесть, что вам нужны надежные возможности редактирования.

6 голосов
/ 09 апреля 2009

Да. jqGrid работает хорошо. Попробуйте демонстрации . Мы используем его с ASP.NET MVC.

Обновление: В своем обновленном вопросе вы задали вопрос об использовании фреймворков, таких как jQuery, с WebForms. Ты можешь сделать это? Конечно. Хотели бы вы? Это более сложный вопрос. В WebForms вы обычно позволяете WebForms генерировать JavaScript для вас. Вот почему у вас есть UpdatePanel и тому подобное. С одной стороны, это легко, потому что вы можете сосредоточить свое внимание на коде на C # и использовать компоненты сетки, которые вообще не требуют написания JavaScript для их работы. С другой стороны, вы ограничены тем, что может сгенерированный код. Да, вы можете написать JavaScript вручную, даже в WebForms, но вам нужно обойти некоторые вещи, которые делает фреймворк, например, изменение идентификаторов на элементах управления. Да, вы можете писать обработчики событий в C #, но это требует использования обратных передач, которые не подходят для HTTP естественным образом, с последствиями, которые видны конечному пользователю.

Обычно JQuery используется с ASP.NET MVC в немалой степени, потому что он поставляется с фреймворком. Но даже до того, как это произошло, все еще было очень распространено их совместное использование, поскольку jQuery позволяет очень просто выполнять вещи, которые в противном случае не поддерживаются напрямую в ASP.NET MVC, например, взаимодействовать между элементами управления на странице. Да, это означает, что вам нужно писать JavaScript, но пока вы в порядке с этим, вы получаете огромное преимущество, заключающееся в том, что вы можете написать любой вид взаимодействия, который захотите, без необходимости обратной отправки на сервер.

Если вы просто ищете хороший элемент управления сеткой для веб-форм, то я бы предложил использовать элемент управления, предназначенный для веб-форм, а не сетку, предназначенную для jQuery. Причина в том, что код, который вы напишите, будет более естественно вписываться в идиомы WebForms.

Если вы просто хотите изучить jQuery, это действительно хорошая идея, потому что фреймворк интересный, полезный и хорошо продуманный, но я не уверен, что отличный элемент управления - это лучшее место для старта. Лучше всего начать с визуального оформления некоторых существующих страниц. Проще начать с известного HTML и манипулировать им с помощью jQuery, чем одновременно создавать новый HTML и изучать jQuery.

3 голосов
/ 28 октября 2009

В настоящее время я использую DataTables . Это позволяет вам создавать html-таблицу и применять фильтры для нескольких столбцов, сортировки по нескольким столбцам, подкачки страниц и т. Д. У вас есть возможность для отображения на стороне клиента html-таблицы или получения данных из источника AJAX.

Также имеется API для динамического добавления строк, динамического отображения столбцов и группировки.

1 голос
/ 09 апреля 2009

Из вашего комментария (о упоминании Крейгом jqGrid) вы либо захотите использовать jqGrid, FlexiGrid или другую альтернативу на стороне клиента и подключить его на стороне сервера самостоятельно, либо вам будет лучше с коммерческий компонент сетки ajax, не основанный на jquery.

Если вы используете MVC (как упоминает Крэйг), jqGrid очень хорошо подходит. Довольно просто связать события jqGrid с действиями контроллера JsonResult в MVC.

1 голос
/ 09 апреля 2009

Как насчет плагина jQuery для просмотра сетки

0 голосов
/ 15 января 2015

jsGrid - это легкий плагин GridView jQuery js-grid.com

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

0 голосов
/ 29 сентября 2009

Вы можете попробовать мою бесплатную WebGrid DataGrid , которая использует JQuery и поддерживает JQuery ThemeRoller

0 голосов
/ 30 июня 2009

Я нашел пример использования DataTable и JQgrid на http://arahuman.blogspot.com/2009/06/jqgrid-using-mvc-json-and-datatable.html

0 голосов
/ 04 июня 2009

Вот пример, который был сделан с WebForms:

http://praveen1305.blogspot.com/2009/05/jqgrid-with-asp-net-web-forms.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...