А как дела обстоят с один-ко-многим, eсть какие-то наработки?
Вот прямо готового решения, чтобы указать пару настроек, и всё с ходу работает - нет.
Но есть два возможных варианта реализации.
1. При двойном клике на строке основной таблицы открываем диалоговое окно с другой таблицей, в которой уже редактируем связи.
2. Subgrid:
http://jqgrid-php.net/examples/?render=jqMiscSubgrid (кликните на первом плюсике)
Если речь просто о том, чтобы работать с join'ами, то еще проще.
Перегружаем стандартные операции opEdit, opIns и opDel - добавляем в них свою логику, чтобы они обновляли сразу несколько таблиц так, как нужно вам.
В формах редактирования можно динамически формировать select'ы, в том числе ajax-запросом. Где-то выше по теме описано, как это можно сделать.
Какое-то общее "silver bullet" решение тут не имеет смысла, т.к. всем нужно разное.
acanthis, все как и раньше. Сначала делаем ручками в консоли firebug. Смотрим, появилась ли иконка. Если не появилась, то почему.
Когда вручную все будет работать - только тогда переносим код в php.
Хотя, на мой взгляд, лучше клиент-сайд оставить на клиенте, а на сервере пусть будет только сервер. Потом сильно проще поддерживать.
Как можно реализовать копирование записи? Т.е. чтобы при нажатии кнопки открывалось окошко добавление записи с заполнеными полями из запроса типа:
Лучше всего повесить event на открытие формы. И в нем делать либо ajax-запрос на сервер, либо выбирать уже загруженную строку из самого грида, если она есть - функция getRowData, кажется.
После получения данных - заполняем форму через jQuery. Прямо $(form).find('#foo').val(foo);
PHP:
проблема с setColoms, делаю так
setColumns помечены как deprecated с версии 4.0. Используйте современную замену - columnChooser.
Почитать можно здесь:
http://www.trirand.com/jqgridwiki/doku.php?id=wiki:jquery_ui_methods
Не забудьте подключить jQuery UI.