Selecting rows in grid using jquery

Selecting rows in grid using jquery

Hi all,
I was trying to select rows(forward selection and reverse selection) in the grid using jquery.
Details:
Selecting rows if user press key up or key down through keyboard as well as using mouse.
Selection by using mouse seems okay. However I'm having problems when selection made by key up( especially). The up selection will not go up beyond the current page. I've given two separate scopes for key up, and key down. Both are given the same variable of tracking id.
I don't know why the problem occurs and no idea how to solve it too.
Your guidance will be greatly appreciated.
  1. var data = $("#grid").data('kendoGrid');
    var arrowUp = [38];
    var arrowDwn = [40];
       
    var navrow_uid; // add this tracking variable;

    //for keyup
    data.table.on("keyup", function (e) {
      if (arrowUp.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 prevrow = $("#grid_active_cell").closest("tr");
          var pid = prevrow.data('uid');
          
          if (navrow_uid == pid  ) {
            /////herer is the problem
            //alert("previous navigable row");
           
            data.dataSource.page(data.dataSource.page()-1);
            // best option here would be to set auto-page flag for databound event handler
          } else {
            data.select(prevrow);
            navrow_uid = pid;
          }
        },1);
      }  
    });

         
    //for keydown   
    data.table.on("keydown", function (e) {
      if (arrowDwn.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);
      } 
    });
I was trying out that behaviour in kendo dojo: http://dojo.telerik.com/eSUQO/9.