Comments 48
Из статьи так и не понял, это плагин для _чего_?
Отличная статья, в избранное, спасибо!
Плагин действительно очень хороший и удобный. Единственное, что у меня не получилось — сделать редактирование и вставку новых записей в таблицы, которые выводятся с запросом JOIN — плагин просто не понимает что и куда вставлять) Кто-нибудь знает как это обойти?
Плагин действительно очень хороший и удобный. Единственное, что у меня не получилось — сделать редактирование и вставку новых записей в таблицы, которые выводятся с запросом 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:
$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},
На мой взгляд, jqGrid — самый успешный и удобный на данный момент плагин для работы с таблицами БД в сети.
Не хочу даже начинать холиварить, но, читая подобные высказывания, складывается впечатление, что про ExtJS никто не знает.
Не хочу даже начинать холиварить, но, читая подобные высказывания, складывается впечатление, что про ExtJS никто не знает.
Да, и про dojo тоже.
Думаю, в данной статье имелся ввиду плагин именно для jQuery
PS: сам я пользую jQuery, и мне выше описанный плагин тоже нравится
PPS: возможно, и не jQuery единым, но как-то до dojo и ExtJS руки пока не дошли…
PS: сам я пользую jQuery, и мне выше описанный плагин тоже нравится
PPS: возможно, и не jQuery единым, но как-то до dojo и ExtJS руки пока не дошли…
Да, все верно. Но если вы программируете на jQuery и не хотите систему нагружать другими фреймфорками, то jqGrid то что надо.
ExtJS это отдельный фреймворк, кстати, именно на нем работает CMS MODx Revolution.
ExtJS это отдельный фреймворк, кстати, именно на нем работает CMS MODx Revolution.
Обращаю ваше внимание, что в статье слово jQuery употребляется только в исходниках.
Поэтому с тем же успехом можно сказать: если вы программируете на JavaScript и думаете, какой фреймворк выбрать для работы с таблицами, то стоит рассматривать фреймворк 1, фреймворк 2 и фреймворк 3.
Поэтому с тем же успехом можно сказать: если вы программируете на JavaScript и думаете, какой фреймворк выбрать для работы с таблицами, то стоит рассматривать фреймворк 1, фреймворк 2 и фреймворк 3.
В ExtJS черт ногу сломает. Очень-очень высокий порог вхождения.
Инициализатор грида в ExtJS будет на 2/3 идентичен тому, что приведен в примере. Не так там все страшно пока делаешь то, что от тебя ожидали разработчики из Sencha.
Да, но там до этого то инициализируй, то допиши, настрой сетку. Примеры есть, но они оторваны от общего контекста (скажем, есть примеры компонентов по отдельности, но нет примера как делать переключение компонентов, скажем, по клику на меню, что нужно в реальном приложении), сложно разбираться с нуля, особенно если английский знаешь на среднем уровне.
О, спасибо за ссылку на пример, как составлять сложные условия выборки 

А можно организовать грид как на последнем скриншоте, только еще с горизнотальной полосой прокрутки? i.e. задать фиксированую шапку и столбец аля Excel?
Если задать виксированную высоту и добавить полосы прокрутки то все так и получится. Смотреть нужно в сторону css. А вот что такое столбце для excel я не понял.
В excel первая строка (по умолчанию буквы 'A'..'Z','AA'....) и столбец (Цифры '1','2','....') — фиксированые. Недавно понадобился такой же грид — много столбцов и первая колонка — фиксированая. Вот и спрашваю, получится ли такое с jqGrid.
Если нужны такие интерфейсы, может стоит смотреть в сторону ExtJs? Вопрос без подколки, мне действительно интересен ответ.
Может кому интересно:
Для jqGrid существует бесплатная PHP-библиотека, которая автоматизирует все необходимые функции, не ограничиваясь только выводом данных.
Документация здесь: jqgrid-php.net/
Пример с inline-поиском: jqgrid-php.net/examples/?render=jqOutSearch
Для jqGrid существует бесплатная PHP-библиотека, которая автоматизирует все необходимые функции, не ограничиваясь только выводом данных.
Документация здесь: jqgrid-php.net/
Пример с inline-поиском: jqgrid-php.net/examples/?render=jqOutSearch
Раз уж есть такая статья, может кто-то подскажет функциональный грид на jQuery с возможностью группировки колонок в шапке, изменением положения колонок на лету и хорошим строчным редактированием с поддержкой клавиатуры?
datatables.net?
Что касается этого плагина:
В статье есть ссылка на примеры.
Зайдите сюда: «Row Editing» -> «Input types». Строчное редактирования с форматированием редактироуемых строк.
Также поддерживается изменение положений колонок и их размеров. Про группировку колонок не в курсе.
По поводу сортировки и группировки строк тут все понятно, это есть. Плюс к группировкам можно добавлять итоговую строку — например сумму за квартал (в бухгалтерии).
В статье есть ссылка на примеры.
Зайдите сюда: «Row Editing» -> «Input types». Строчное редактирования с форматированием редактироуемых строк.
Также поддерживается изменение положений колонок и их размеров. Про группировку колонок не в курсе.
По поводу сортировки и группировки строк тут все понятно, это есть. Плюс к группировкам можно добавлять итоговую строку — например сумму за квартал (в бухгалтерии).
со строчным редактированием есть проблемы с клавиатурной навигацией и выполнением действий.
группировки колонок в шапке по дефолту нет, поэтому приходится изобретать свои хаки и часто бывают проблемы с шириной.
изменять порядок колонок можно динамически, но, имхо, drag-n-drop нет. хотя этот пункт не критичен.
группировки колонок в шапке по дефолту нет, поэтому приходится изобретать свои хаки и часто бывают проблемы с шириной.
изменять порядок колонок можно динамически, но, имхо, drag-n-drop нет. хотя этот пункт не критичен.
Форма расширенного поиска — это треш еще тот. Неграмотный юзер ничего не поймет, грамотный предпочтет руками написать условие, вместо того чтобы путаться в 100 500 селектах. Ну Семен Семенович…
А по статье —может стоит перенести в блог «Школокод»?
> #grps1
> if (isset($_POST['filters'])) $filters = $_POST['filters']
> addslashes($rule->data);
> preg_replace('/-|\'|\"/', '', $rule->field) // backtick забыли, умники
> file.qip.ru
И в комментариях кто-то добавил:
> $INSERT = «INSERT INTO `tale2` SET `a` = '$_POST['a']'»
Только что читал сайт govnokod.ru, у меня почему-то ощущение что любой кусок кода из статьи можно было постить сразу туда.
Ничего личного по отношению к автору, просто не люблю такой стиль кодинга. Если вы хотите сделать мир лучше, поставьте минус статье.
p.s. Часть кода Хабра можно отправлять туда же — это же надо было в ajax-кнопках (кнопках! не ссылках!) додуматься написать href="#"
А по статье —может стоит перенести в блог «Школокод»?
> #grps1
> if (isset($_POST['filters'])) $filters = $_POST['filters']
> addslashes($rule->data);
> preg_replace('/-|\'|\"/', '', $rule->field) // backtick забыли, умники
> file.qip.ru
И в комментариях кто-то добавил:
> $INSERT = «INSERT INTO `tale2` SET `a` = '$_POST['a']'»
Только что читал сайт govnokod.ru, у меня почему-то ощущение что любой кусок кода из статьи можно было постить сразу туда.
Ничего личного по отношению к автору, просто не люблю такой стиль кодинга. Если вы хотите сделать мир лучше, поставьте минус статье.
p.s. Часть кода Хабра можно отправлять туда же — это же надо было в ajax-кнопках (кнопках! не ссылках!) додуматься написать href="#"
Нужно понимать, что habr это в первую очередь учебный материал, и чем больше он написан открытым и доступным языком, без использования завуалированных стогов переменных, тем лучше. А как алгоритм будет использован это уже на совести каждого.
И чтобы никто не пугался, отмечу, что Select тут всего один.
И чтобы никто не пугался, отмечу, что Select тут всего один.
Смотри событие в документации, после обновления таблицы. Далее с помощью jquery пиши функцию форматирования.
Например 123
Преобразуй в 12 3
Например 123
Преобразуй в 12 3
Смотри событие в документации, после обновления таблицы. Далее с помощью jquery пиши функцию форматирования.
Например
Преобразуй в
Но это не идеально.е сли нужно еще редактировать. Можно сделать собственный div и заменять им тот формат. который предоставляет jqGrid, при клике по которому вызывать функции редактирования строк.
Например
123
Преобразуй в
12 3
Но это не идеально.е сли нужно еще редактировать. Можно сделать собственный div и заменять им тот формат. который предоставляет jqGrid, при клике по которому вызывать функции редактирования строк.
Вы издеваетесь, почему тег кода не работает))).
Парни, подскажите, пожалуйста, по сортировке в jqGrid — есть столбец «Num» (например), как данные отсортировать так, чтобы сначала шли строки со значением 1,2,3,...20..50, а потом строки с пустым значением NUM.
Сейчас, просто напросто, если установить сортировку в ASC сначала идут записи с пустыми ячейками, а потом только с номера от 1 и далее.
Спасибо заранее.
Сейчас, просто напросто, если установить сортировку в ASC сначала идут записи с пустыми ячейками, а потом только с номера от 1 и далее.
Спасибо заранее.
Sign up to leave a comment.
jqGrid — Динамические таблицы на jQuery. Сложный Поиск