Редактирование формы jqgrid: инвертировать порядок столбцов

Я широко (и успешно) использую jqgrid в своем веб-приложении asp.net.

Можно ли инвертировать порядок столбцов при редактировании формы? то есть: показы colmodel

КОЛОННА А КОЛОННА В КОЛОННА С

Я хотел бы показать что-то похожее на:

КОЛОННА А КОЛОННА С КОЛОННА Б

когда пользователь щелкает значок редактирования и входит в диалоговое окно редактирования формы.

EDIT: я читал, что существует функция remapColumns (проверьте ее вне). Можно ли использовать его при редактировании формы?


person frabiacca    schedule 10.02.2012    source источник


Ответы (1)


Вы можете изменить порядок порядка столбцов в отношении следующего простого кода

beforeShowForm: function ($form) {
    var i, l, $tinfo = $form.find('tr.tinfo'),
        $trFormData = $form.find('tr.FormData');
    for (i = 1, l = $trFormData.length; i < l; i++) {
        $tinfo.after($trFormData[i]);
    }
}

см. демонстрацию. В результате вы получите

введите здесь описание изображения

вместо формы по умолчанию

введите здесь описание изображения

person Oleg    schedule 10.02.2012
comment
Олег, извини, но это не то, что я ищу. Мне кажется, что вы просто перевернули порядок столбцов; Вместо этого я хотел бы воссоздать порядок полей формы. Вы написали мне, чтобы я использовал recreateForm:true вчера, я искал пример с того момента :( - person frabiacca; 11.02.2012
comment
@frabiacca: Вы попросили меня прокомментировать использование remapColumns. Если вы меняете порядок столбцов, важно использовать recreateForm:true (см. здесь пример), чтобы иметь текущий порядок столбцов. Ваш текущий вопрос - редактирование формы jqgrid: инвертировать порядок столбцов. Это не зависит от использования columnChooser, reorderColumn и так далее. Если есть еще какие-то дополнительные шаги, где нужен другой порядок полей в диалоге формы - опишите - person Oleg; 11.02.2012
comment
эй, олег, я обнаружил, что formoptions содержит атрибут rowpos, это именно то, что я искал;) - person frabiacca; 11.02.2012
comment
@frabiacca: Хорошо! Я просто еще не до конца понял ваш вопрос. Если у вас действительно есть столбцы tree, такие как COLUMN A COLUMN B COLUMN C, и вы хотите указать положение одного столбца, вы можете использовать rowpos. Поэтому, если вам нужно указать строку, в которой будет размещено поле для столбца, rowpos — лучший способ, но вы не можете использовать параметр для инвертирования столбца порядок, потому что если вы измените colModel и вставите еще один столбец, вам придется изменить все rowpos значения всех столбцов. Так что это было просто непонимание ваших требований. - person Oleg; 11.02.2012
comment
@frabiacca: В любом случае хорошо, что твоя проблема решена! - person Oleg; 11.02.2012