Отличная статья, в избранное, спасибо!
Плагин действительно очень хороший и удобный. Единственное, что у меня не получилось — сделать редактирование и вставку новых записей в таблицы, которые выводятся с запросом JOIN — плагин просто не понимает что и куда вставлять) Кто-нибудь знает как это обойти?
Если логика получениея и вставки данных разная, то в файле edit.php (или аналогичным, который получает данные и вставляет в таблицы) можно написать инструкции отдельно для каждого параметра (если таблиц несколько):
$param — имя вставляемого параметра
Для первой таблицы:
$INSERT = «INSERT INTO `tale` SET `$_POST[$param]` = '$_POST[$param]'»
Для второй таблицы:
$INSERT = «INSERT INTO `tale2` SET `$_POST[$param2]` = '$_POST[$param2]'»
и т.д.
А если имена в подключаемых таблицах отличаются (например 'SELECT `a` as b ...')
То инструкцию можно заменить так:
Для второй таблицы:
$INSERT = «INSERT INTO `tale2` SET `a` = '$_POST['a']'»
Или еще проще в настройках jqGrid: {name:'b', index:'a', width:100},
Отлично, спасибо! Буду пробовать.
А то приходится руками отдельные формы для вставки данных писать, весьма утомительное и бесполезное занятие.
Реквестирую статью по теме :)
Обращаю ваше внимание, что в статье слово jQuery употребляется только в исходниках.
Поэтому с тем же успехом можно сказать: если вы программируете на JavaScript и думаете, какой фреймворк выбрать для работы с таблицами, то стоит рассматривать фреймворк 1, фреймворк 2 и фреймворк 3.
GPLv3 афаик не запрещает использование кода в своем коммерческом проекте, если ваш проект только предоставляет сервис, и вы не распостраняете сам проект ни в каком виде.
Так что для своих коммерческих сайтов можно юзать.
Инициализатор грида в ExtJS будет на 2/3 идентичен тому, что приведен в примере. Не так там все страшно пока делаешь то, что от тебя ожидали разработчики из Sencha.
Да, но там до этого то инициализируй, то допиши, настрой сетку. Примеры есть, но они оторваны от общего контекста (скажем, есть примеры компонентов по отдельности, но нет примера как делать переключение компонентов, скажем, по клику на меню, что нужно в реальном приложении), сложно разбираться с нуля, особенно если английский знаешь на среднем уровне.
А можно организовать грид как на последнем скриншоте, только еще с горизнотальной полосой прокрутки? i.e. задать фиксированую шапку и столбец аля Excel?
Если задать виксированную высоту и добавить полосы прокрутки то все так и получится. Смотреть нужно в сторону css. А вот что такое столбце для excel я не понял.
В excel первая строка (по умолчанию буквы 'A'..'Z','AA'....) и столбец (Цифры '1','2','....') — фиксированые. Недавно понадобился такой же грид — много столбцов и первая колонка — фиксированая. Вот и спрашваю, получится ли такое с jqGrid.
Я не понял, потом что на последнем скриншоте форма поиска…
Можно, но с условием, что столбцов будет ограниченное количество (Штук 100 хватит?).
В настройка грида убрать подгон ширины и появится прокрутка.
Может кому интересно:
Для jqGrid существует бесплатная PHP-библиотека, которая автоматизирует все необходимые функции, не ограничиваясь только выводом данных.
Раз уж есть такая статья, может кто-то подскажет функциональный грид на jQuery с возможностью группировки колонок в шапке, изменением положения колонок на лету и хорошим строчным редактированием с поддержкой клавиатуры?
в datatables есть хорошая группировка с поддержкой сортировки + есть реордер колонок на лету.
а вот плагин редактирования лично мне не очень нравится, потому что кнопкой tab нельзя попасть в следующую ячейку, если уже находишься в режиме редактирования.
Также поддерживается изменение положений колонок и их размеров. Про группировку колонок не в курсе.
По поводу сортировки и группировки строк тут все понятно, это есть. Плюс к группировкам можно добавлять итоговую строку — например сумму за квартал (в бухгалтерии).
Да, проверил только-что, работает правильно. Можно отследить событие и новый порядок колонок, что очень хорошо.
А по ссылке выше, обещали помочь с группировкой в шапке.
В целом этот грид наверное лучший из тех, что есть с такой лицензией.
Форма расширенного поиска — это треш еще тот. Неграмотный юзер ничего не поймет, грамотный предпочтет руками написать условие, вместо того чтобы путаться в 100 500 селектах. Ну Семен Семенович…
А по статье —может стоит перенести в блог «Школокод»?
Нужно понимать, что habr это в первую очередь учебный материал, и чем больше он написан открытым и доступным языком, без использования завуалированных стогов переменных, тем лучше. А как алгоритм будет использован это уже на совести каждого.
И чтобы никто не пугался, отмечу, что Select тут всего один.
Смотри событие в документации, после обновления таблицы. Далее с помощью jquery пиши функцию форматирования.
Например 123
Преобразуй в 12 3
Но это не идеально.е сли нужно еще редактировать. Можно сделать собственный div и заменять им тот формат. который предоставляет jqGrid, при клике по которому вызывать функции редактирования строк.
Парни, подскажите, пожалуйста, по сортировке в jqGrid — есть столбец «Num» (например), как данные отсортировать так, чтобы сначала шли строки со значением 1,2,3,...20..50, а потом строки с пустым значением NUM.
Сейчас, просто напросто, если установить сортировку в ASC сначала идут записи с пустыми ячейками, а потом только с номера от 1 и далее.
jqGrid — Динамические таблицы на jQuery. Сложный Поиск