【问题标题】:How to set Options in jqgrid?如何在 jqgrid 中设置选项?
【发布时间】:2010-04-23 04:42:59
【问题描述】:

我需要设置 Jqgrid 的选项,例如 toppager、forceFit,其中“可以更改?”值设置为“否”,因此我厌倦了以这种方式添加它来设置

jQuery(document).ready(function () {
    jQuery("#list").setGridParam({
        forceFit: true,
        toppager: true
    }).trigger("reloadGrid");
    jQuery("#list").jqGrid({
        url: '<%= Url.Action("GridData") %>',
        datatype: 'json',
        mtype: 'GET',
        colNames: ['Time', 'Description', 'Category', 'Type', 'Originator', 'Vessel'],
        colModel: [{
            name: 'Time',
            index: 'Time',
            width: 200,
            align: 'left'
        }, {
            name: 'Description',
            index: 'Description',
            width: 600,
            align: 'left'
        }, {
            name: 'Category',
            index: 'Category',
            width: 100,
            align: 'left'
        }, {
            name: 'Type',
            index: 'Type',
            width: 100,
            align: 'left'
        }, {
            name: 'Originator',
            index: 'Originator',
            width: 100,
            align: 'left'
        }, {
            name: 'Vessel',
            index: 'Vessel',
            align: 'left'
        }],
        pager: jQuery('#pager'),
        rowNum: 20,
        rowList: [10, 20, 50],
        sortname: 'Time',
        sortorder: "desc",
        viewrecords: true,
        hoverrows: false,
        gridview: true,
        emptyrecords: 'No data for the applied filter',
        height: 460,
        caption: 'Logbook Grid',
        //forceFit: true,
        width: 1200
    });
});

但它没有用你能告诉我我到底做错了什么或正确的方法吗?

【问题讨论】:

    标签: jquery jquery-plugins jqgrid


    【解决方案1】:

    首先,您尝试在创建网格之前(在 jQuery("#list").jqGrid({...}) 之前)设置关于 jQuery("#list").setGridParam() 的 jqGrid 参数.

    第二次你可以改变 jqGrid 的每个 jqGrid 参数,而不是 setGridParam。您可以在 jqGrid 选项表http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options 中找到 setGridParam 支持的参数列表(参见最后“可以更改?”列)。

    在您的情况下,您应该在创建 jqGrid 期间轻松地将 forceFit: true, toppager: true 添加到 jqGrid 选项列表中:

    jQuery(document).ready(function() {
        jQuery("#list").jqGrid({
            url: '<%= Url.Action("GridData") %>',
            datatype: 'json',
            mtype: 'GET',
            forceFit: true,
            toppager: true
            colNames:['Time', 'Description', 'Category', 'Type', 'Originator', 'Vessel'],
            ...
        });
    });
    

    一个更典型的初学者错误是没有包含 CSS 文件或 JS 文件的错误顺序。确认您没有犯此类错误(请参阅http://www.trirand.com/jqgridwiki/doku.php?id=wiki:how_to_install)。

    我希望您的 jqGrid 在此更改后能够正常工作。

    【讨论】:

    • +1。对,因为forceFit 的“可以更改”为“否”,这意味着您不能在运行时使用setGridParam 对其进行修改。正如您所演示的,必须重新创建网格。
    【解决方案2】:

    您应该在创建网格之后而不是之前调用setGridParam,如下所示:

    jQuery("#list").jqGrid(...).setGridParam(...)
    

    【讨论】:

      猜你喜欢
      • 2013-11-15
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 2011-07-19
      • 2013-02-19
      • 2010-11-04
      相关资源
      最近更新 更多