jqgrid 3.8.2 filterToolbar - текстовые поля исчезают при изменении порядка столбцов

Я реализовал jqgrid, используя приведенный ниже код. Сетка работает нормально, но когда я перетаскиваю и меняю порядок столбцов (изменяю порядок), текстовые поля под последними столбцами исчезают при каждом изменении порядка.

<script type="text/javascript">
    jQuery(document).ready(function () {
        jQuery("#list").jqGrid({
            url: '@Url.Content("/Contacts/DynamicGridData/")',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['Last Name', 'First Name', 'Country', 'Category'],
            colModel: [
                { name: 'LastName', index: 'LastName', align: 'left' },
                { name: 'FirstName', index: 'FirstName', align: 'left' },
                { name: 'CountryId', index: 'CountryId', align: 'left' },
                { name: 'CategoryId', index: 'CategoryId', align: 'left'}],
            pager: jQuery('#pager'),
            rowNum: 10,
            rowList: [5, 10, 20, 50],
            sortname: 'LastName',
            sortorder: "asc",
            viewrecords: true,
            sortable: true,
            loadonce: true,
            ignoreCase: true,
            gridview: true,
            autowidth: true,
            rownumbers: true,
            imgpath: '@Url.Content("~/Content/themes/jqgrid/smoothness/images")'
        });
        jQuery("#list").jqGrid('navGrid', '#pager', { add: false, edit: false, del: false }, {}, {}, {}, { multipleSearch: true });
        jQuery("#list").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false });
        jQuery("#list").jqGrid('navButtonAdd', "#pager", { caption: "", title: "Toggle Search Bar", buttonicon: 'ui-icon-pin-s', onClickButton: function () { $("#list")[0].toggleToolbar() } });
    }); 
</script>

<table id="list" class="scroll"></table>
<div id="pager" class="scroll" style="text-align:center;"></div>

Как это решить?


person Rahul Vyas    schedule 11.03.2011    source источник


Ответы (1)


Я не могу воспроизвести вашу проблему. См. здесь мой тест. Какую версию jQuery UI и jQuery вы используете?

Небольшие замечания: параметр imgpath устарел так как много выпусков jqGrid, и вы должны удалить его. Точно так же class="scroll" также не будет использоваться. Таким образом, вы можете уменьшить HTML до

<table id="list"></table>
<div id="pager"></div>
person Oleg    schedule 11.03.2011
comment
Олег, Спасибо за помощь. Я проверил ваше тестовое решение, попробуйте изменить порядок столбцов (перетащив заголовок столбца) и посмотрите, что произойдет с последним текстовым полем на панели filterToolbar. - person Rahul Vyas; 11.03.2011
comment
@ Рахул Вьяс: у меня нет проблем. Какой веб-браузер вы используете? - person Oleg; 11.03.2011
comment
@Oleg: Похоже, это известная проблема: github.com /тонитомов/jqGrid/ - person Rahul Vyas; 11.03.2011
comment
@Rahul Vyas: Вы пишете, что это та же ошибка. Я мог воспроизвести его в Chrome 10 и Safari 5 (оба используют движок Webkit). Я нахожу интересным, что в Firefox, если перетащить заголовок последнего столбца, последнее текстовое поле панели инструментов поиска не будет видно, но после удаления заголовка столбца все в порядке. Вероятно, можно использовать FF для локализации проблемы. - person Oleg; 11.03.2011
comment
@Oleg: Есть ли способ удалить панель инструментов filterToolbar и воссоздать ее снова после изменения порядка? Решит ли это проблему? Еще раз спасибо за все ваше время на этот вопрос. Это заняло у меня много часов. - person Rahul Vyas; 11.03.2011
comment
Чтобы достичь того, чего я хотел добиться - каким-то образом изменить порядок столбцов с помощью панели инструментов поиска, я использовал метод columnChooser, описанный по ссылке ниже, однако исходный вопрос все еще открыт: trirand.com/jqgridwiki/ - person Rahul Vyas; 11.03.2011