使用静态数据加载jqGrid的最佳方法?

时间:2010-11-30 15:11:43

标签: jquery jqgrid

我们通过创建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列,每列都使用自定义格式化程序创建。

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

对应documentation(请参阅data参数说明)

  

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

我自己没有采取任何措施,但data参数的使用似乎也是我最有效的方法之一。您要添加的数据行非常重要。在版本3.7中引入数据的本地分页之前,与datastr一起使用的参数datatype:jsonstring是相对较旧的方式。关于data参数,您可以添加大型纯数据集,对其进行排序并显示数据的第一页。使用data参数中的数据填充第一页将完成addJSONData函数,因此部分工作在所有情况下都相同。只有填充大小更重要的数据作为页面大小才能使data参数更有效。

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

答案 1 :(得分:1)

答案是:

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