在JqGrid中订购列

时间:2012-10-04 14:29:40

标签: jqgrid datagridviewcolumn

我在我的脚本上有这个声明,我想选择可以在其上看到的列..

       $("#list").jqGrid({
            url: '/persons.ashx',
            datatype: 'xml',
            mtype: 'GET',
            colNames: ['Name', 'Age'],
            colModel: [
            { name: 'Name', index: 'Name', width: 100, align: 'center', editable: true, editoptions: { size: 30 }, editrules: { edithidden: false }, sortable: true },
            { name: 'Age', index: 'Age', width: 100, align: 'center', editable: true, editoptions: { size: 30 }, editrules: { edithidden: false }, sortable: true }
            ]
            ajaxSelectOptions: {
                data: {
                    codSelected: function () { return _codSelected; }
                      }
            },
            onSelectRow: function (rowid) {
               _codSelected = rowid;
            },
            autoencode: true,
            pager: '#pager',
            rowNum: 20,
            sortname: 'Name',
            sortorder: 'asc',
            sortable: true,
            autowidth: false,
            width: 999,
            height: -1,
            shrinkToFit: true,
            viewrecords: true,
            gridview: true,
            caption: 'Persons',
            editurl: ''
        });

        jQuery("#list").jqGrid('navGrid',
            '#pager',
            {
                add: false,
                del: false,
                edit: false,
                search: true,
                refresh: true,
                cloneToTop: true
            },
            { width: 360, resize: false, closeAfterEdit: true, recreateForm: true, viewPagerButtons: true
            },
            { width: 360, resize: false, closeAfterAdd: true, recreateForm: true },
            {}, //Delete action
            { closeAfterSearch: true, closeOnEscape: true }
        );
    });

        //CODE ADDDED TO CAN CHOOSE COLUMNS
        jQuery("#list").jqGrid('navButtonAdd', '#pager', {
                    caption: "",
                    buttonicon: "ui-icon-calculator",
                    title: "Choose columns",
                    onClickButton: function () {
                        $(this).jqGrid('columnChooser');
                    }
                });

我有14列,但我无法在屏幕上看到所有内容,我在此示例中只放了2列,但我看不到重新加载按钮附近的选择按钮,实际上,无法选择任何列来订购它。

任何人都可以帮助我吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您发布的代码存在一些语法问题。它看起来像

    $("#list").jqGrid({
        ...
    });
    jQuery("#list").jqGrid('navGrid', ...
    );
});
    jQuery("#list").jqGrid('navButtonAdd', '#pager', { ...
    });

我想它看起来像

$(function () {
    $("#list").jqGrid({
        ...
    });
    jQuery("#list").jqGrid('navGrid', ...
    );
});
    jQuery("#list").jqGrid('navButtonAdd', '#pager', { ...
    });

您尝试使用{/ 1}} navButtonAdd

如果确实如此,您应该在调用$(document).ready(...)之后直接调用navButtonAdd $(document).ready(...)内的navGrid ,并解决问题。< / p>