【问题标题】:Best way to load jqGrid with static data?用静态数据加载 jqGrid 的最佳方法?
【发布时间】:2010-11-30 15:11:42
【问题描述】:

我们通过创建一个 JSON 字符串将 10 行静态数据加载到我们的 jqGrid 中:

var d = "{\"page\":1,\"records\":10,\"total\":1,\"rows\":[" +
                "{\"id\":\"1\",\"cell\":[\"\"]}," +
                "{\"id\":\"2\",\"cell\":[\"\"]}," +
                "{\"id\":\"3\",\"cell\":[\"\"]}," +
                "{\"id\":\"4\",\"cell\":[\"\"]}," +
                "{\"id\":\"5\",\"cell\":[\"\"]}," +
                "{\"id\":\"6\",\"cell\":[\"\"]}," +
                "{\"id\":\"7\",\"cell\":[\"\"]}," +
                "{\"id\":\"8\",\"cell\":[\"\"]}," +
                "{\"id\":\"9\",\"cell\":[\"\"]}," +
                "{\"id\":\"10\",\"cell\":[\"\"]}" +
            "]}";

然后将其加载到带有datatype:jsonstringdatastr:d 的网格中,其中我们的网格有15 列,每列都是使用自定义格式化程序创建的。

有没有更好的方法来做到这一点?

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

    对应documentation(见data参数说明)

    它可以替换 addRowData 方法 相对大数据速度较慢

    我自己没有做任何测量,但data参数的使用似乎也是我最有效的方法之一。 要添加多少行数据很重要。参数datastrdatatype:jsonstring一起使用是在3.7版本引入数据本地分页之前比较老的方式。对于data 参数,您可以添加 组纯数据,对其进行排序并显示数据的第一页。使用来自data 参数的数据填充第一页将针对addJSONData 函数完成,因此在所有情况下工作部分都是相同的。只有填充与页面大小相比更大的数据才能使data参数的方式更有效。

    如果您将使用data 参数,则不要忘记在数据数组中定义额外的id 属性。它可以是具有默认 id 名称的属性,也可以是在 localReader 中定义的另一个名称。如果您为 jqGrid 的一列定义了key:true,则不需要包含额外的id 属性。

    【讨论】:

      【解决方案2】:

      答案是:

      怎么样?渲染一个常规表格,然后使用 Jqgrid 的名为“grid.tbltogrid.js”的插件。非常有用和简单。在内部它使用jqgrid的“addRowData”方法,但是为什么你需要重复编写代码,对吧? ;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-24
        • 2011-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-23
        相关资源
        最近更新 更多