为下一页动态选择行并在剑道网格中反向

Posted

技术标签:

【中文标题】为下一页动态选择行并在剑道网格中反向【英文标题】:Row selection dynamically for next page and reverse back in kendo grid 【发布时间】:2018-06-27 03:27:06 【问题描述】:

请告诉我如何从我的剑道网格的第一页到第二页选择下一个连续行并返回到上一页? Kendo Grid API 只给我关于“选择”的信息,从那里我完全不知道如何实现我想要的选择。我现在所拥有的只是选择所选/活动单元格的行。任何见解/参考也受到赞赏。到目前为止,我还没有遇到任何示例或文章。

var data = $("#grid").data('kendoGrid');
var arrows = [38,40];
data.table.on("keydown", function (e) 
  if (arrows.indexOf(e.keyCode) >= 0) 
    setTimeout(function () 
      data.clearSelection();
      data.select($("#grid_active_cell").closest("tr"));
    ,1);
  
);

http://dojo.telerik.com/eSUQO

【问题讨论】:

【参考方案1】:
var data = $("#grid").data('kendoGrid');
var arrows = [38,40];

var navrow_uid; ** add this tracking variable;

data.table.on("keydown", function (e) 
  if (arrows.indexOf(e.keyCode) >= 0) 
    setTimeout(function () 
      data.clearSelection();

   // break this up
   // data.select($("#grid_active_cell").closest("tr"));

      // fetch next row uid and compare to tracker
      var nextrow = $("#grid_active_cell").closest("tr");
      var uid = nextrow.data('uid');
      if (navrow_uid == uid ) 
        console.log("last navigable row");
        data.dataSource.page(1+data.dataSource.page());
        // best option here would be to set auto-page flag for databound event handler
       else 
        data.select(nextrow);
        navrow_uid = uid;
      
    ,1);
  
);

您需要添加一个网格数据绑定处理程序,并检查 aut-page 标志以查看您是否需要选择页面的第一行或最后一行。

【讨论】:

真的很棒。它在页面更改时动态选择行。谢谢您的帮助。反向选择的任何提示?我只能想到为 selected 删除类? docs.telerik.com/kendo-ui/knowledge-base/… 您可以为 keyCode 38 (up) 和 keyCode 40(down) 设置单独的部分,并执行相同的 uid 跟踪。当 40 案例的 uid 没有变化时,前进页面,而对于 38 案例,减少页面。如果您发现我的回复是答案,请单击复选标记使其变为绿色并接受为答案。 您好,我的问题是反向选择,虽然我尝试减少页码,但它无法自动返回上一页。 dojo.telerik.com/eSUQO/6

以上是关于为下一页动态选择行并在剑道网格中反向的主要内容,如果未能解决你的问题,请参考以下文章

设置所选页码 - 剑道网格

刷新剑道网格,选择框

如何用下一页“10 项”填充标题和网格布局

剑道网格丢失选定的行

在空的剑道网格上排序显示旧数据

剑道网格值中的剑道日期时间选择器未进入控制器