【问题标题】:set selected page number - kendo grid设置所选页码 - 剑道网格
【发布时间】:2018-04-27 07:49:59
【问题描述】:

我正在使用 kendo-telrik 创建一个网格。在此假设我有 100 个数据。在json中我只有10个数据(假设第一页在分页中包含10个数据)。而且我一直在显示所有页面(100 个数据的 10 页)。

当我点击另一个页面时,然后获取下 10 个数据并在 ui 中显示。为此,我使用剑道网格的页面更改功能并获取下 10 个数据。现在我想在网格中列出我选择的页面中的数据。

为此,我创建了如下示例 - http://jsfiddle.net/pporwal26/y6KdK/76/

 var jsonData = JSON.parse("{\"Report\":\"type1\",\"FileList\":[{\"owner\":\"machine-174\\\\admin\",\"path\":\"C:\\\\workarea\\\\WinTest1lakhfileinKB\\\\WinTest\\\\nGYh\\\\SMv\\\\U1P8FLx\\\\vMbhdo\\\\TgFSW\\\\42Ioulj0w.txt\"},{\"owner\":\"machine-174admin\",\"path\":\"C:\\\\workarea\\\\bada_data\\\\Employee Database - Copy (7) - Copy.mdb\"}],\"Count\":100,\"total\":100,\"page\":1}");
function nextData(page){
jsonData = JSON.parse("{\"Report\":\"type1\",\"FileList\":[{\"owner\":\"machine-170\\\\admin\",\"path\":\"C:\\\\workarea\\\\WinTest1lakhfileinKB\\\\WinTest\\\\nGYh\\\\SMv\\\\U1P8FLx\"},{\"owner\":\"machine-170admin\",\"path\":\"C:\\\\workarea\"}],\"Count\":100,\"total\":100,\"page\":"+page+"}");
createGrid(jsonData);
}
createGrid(jsonData);
function createGrid(jsonData){
$("#grid").kendoGrid({
   pageable: true,
   scrollable: true,
   page: jsonData.page,
   pageable: {
         pageSize: 2,
         refresh: true,
         change:function(e){
           nextData(e.index);
         }
     },
   dataSource: {
       serverPaging: true,
       schema: {
           data: "FileList",
           total: "total"

       },
       data: jsonData 
   }
});
}

在此示例中,当我单击更改事件时,它总是显示 1 页而不是我选择的页面。并且还希望在每次点击网格上总是创建新的而不是添加它。我能为此做些什么?

【问题讨论】:

    标签: javascript jquery json kendo-grid


    【解决方案1】:

    好吧,我知道在nextData 函数内部调用createGrid(jsonData);,您将在每次递增时创建一个表,仅此一项就会导致错误。您是否尝试过将其注释掉?

    我个人从来没有用过kendoGrid,所以如果我的回答不好,我很抱歉,但是从网上看了一下,这似乎有效?

    在最坏的情况下,您确实需要进行更改,在这种情况下,您不能将表中的数据作为目标并在其他函数中覆盖它吗?一种非常病态的方法是删除/销毁当前的以创建新的。但我猜它会起作用吗?

    【讨论】:

    • 感谢您的回复。但是我希望该网格在页面更改时包含新数据,并且我的限制是我只有页面大小数据并在下一页单击时获取下一页数据。所以我如何创建网格新数据我不是从 nextdata() 调用 creategrid(jsondata)。
    • 我确实尝试过创建一个名为 updateData 的函数,在里面我只是做了:$("#grid").kendoGrid({ data: jsonData });但这似乎也在里面创建了一个新的网格......我唯一的建议可能是找到一种方法来只创建一个新的数据源? - 这似乎有用吗? :- Demo
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多