我想手动触发slickgrid事件。例如:当我按向下箭头时,我想将当前单元格更改为下移。这是我只能做到的,当slickgrid是焦点,一旦焦点消失在网页上,按向下箭头不会改变活动单元格。

我试过这个:

<!DOCTYPE HTML>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <title>SlickGrid example 1: Basic grid</title>
  <link rel="stylesheet" href="mycss/slick.grid.css" type="text/css"/>
  <link rel="stylesheet" href="mycss/smoothness/jquery-ui-1.8.16.custom.css" type="text/css"/>
  <link rel="stylesheet" href="mycss/examples.css" type="text/css"/>
</head>
<body>
<div>
  <p id="p_title"></p>
  <p id="p_duration"></p>
  <p id="p_Complete"></p>
  <p id="p_start"></p>
  <p id="p_finish"></p>
  <p id="p_effort-driven"></p>
</div>
<table width="100%">
  <tr>
    <td valign="top" width="50%">
      <div id="myGrid" style="width:600px;height:500px;"></div>
    </td>
  </tr>
</table>



<script src="js/lib/jquery-1.7.min.js"></script>
<script src="js/lib/jquery.event.drag-2.2.js"></script>
<script src="js/slick.core.js"></script>
<script src="js/slick.grid.js"></script>
<script src="js/slick.dataview.js"></script>

<script>
  var grid;
   var dataView;
  var curr_row;
  var columns = [
    {id: "title", name: "Title", field: "title"},
    {id: "duration", name: "Duration", field: "duration"},
    {id: "%", name: "% Complete", field: "percentComplete"},
    {id: "start", name: "Start", field: "start"},
    {id: "finish", name: "Finish", field: "finish"},
    {id: "effort-driven", name: "Effort Driven", field: "effortDriven"}
  ];

  var options = {
    enableCellNavigation: true,
    enableColumnReorder: false
  };

  $(function () {
    var data = [];
    for (var i = 0; i < 50; i++) {
      data[i] = {
        id: i,
        title: "Task " + i,
        duration: "5 days",
        percentComplete: Math.round(Math.random() * 100),
        start: "01/01/2009",
        finish: "01/05/2009",
        effortDriven: (i % 5 == 0)
      };
    }
    dataView = new Slick.Data.DataView();
    dataView.setItems(data);
    grid = new Slick.Grid("#myGrid", dataView, columns, options);

    grid.onKeyDown.subscribe(function (e, args) {
        if (e.which == 38) {
           curr_row= args.row - 1;
          sata(curr_row)
        }
        if (e.which == 40){
          curr_row = args.row + 1;
          sata(curr_row)
        }
    });

    grid.onClick.subscribe(function (e, args){
        curr_row = args.row;
        sata(curr_row)
    });
  });


function sata(row){
  var row_data = dataView.getItem(row);  // Read from dataView not the grid data
        var cell_contents = row_data['title'];
        alert(cell_contents);
}

  $(document).keydown(function(e) {
    if (e.which == 38) {
      curr_row= curr_row - 1;
      grid.onClick.notify({row:curr_row})
        }
        if (e.which == 40){
          curr_row = curr_row + 1;
          grid.onClick.notify({row:curr_row})


        }
});
</script>
</body>
</html>

但是,即使我现在可以获得活动的单元格数据,网格也没有更新(渲染未刷新)。

任何关于如何让slickgrid对这样的全球事件做出反应的建议都将受到高度赞赏。提前谢谢。

转载请注明出处:http://www.zhongtian365.com/article/20230523/1184156.html

随机推荐

  1. 有没有办法在monaco编辑器中手动触发验证?

    我使用的是默认的TypeScript服务,模型是通过一个依赖于另一个模型的模型异步初始化的。有一种情况下,这两个模型无法检测到对方,因此它显示了语义错误。如果我在依赖模型中做了一些编辑,这会导致模型被重新验证,错误就会消失。我已经尝试手动s...

  2. 如何使用Rest API手动触发HBase均衡器命令?

    在HBase外壳中,可以使用balancer命令触发平衡器。有没有一种方法可以使用提供的REST API做到这一点

  3. 是否手动触发FluentValidation?Asp.net核心

    我正在尝试使用Asp.net Core2.0中的Fluent Validation。我能够按照说明将其挂接起来,但问题是,一旦它试图通过绑定,验证规则就会被检查。我不希望发生这种自动检查,因为它返回的格式与我想要的错误格式不同,因为我想以相...

  4. 如何仅手动触发Helm作业的运行?

    为了调试的目的,我如何运行安装了卷的特定shell,而不自动运行它?我发现最好的是在2月29日运行cronjob,我可以手动触发它,它最终将按不需要的计划运行。另外,我可以使用kubernetes简单的pod模板来实现,但我需要helm模板...

  5. c3.js -如何手动触发圆环弧的悬停?

    我使用的是c3.js,并且有一个甜甜圈图表,当你将鼠标悬停在每个类别上时,它会在甜甜圈中包含自定义文本。我把所有这些都做得很好。我有一些与图表相关的自定义元素,但完全与图表分离…如果用户悬停在这些自定义元素上,我需要在特定的圆环弧上触发悬停...

  6. Xcode / iOS模拟器:手动触发重大位置更改

    有没有办法手动告诉设备发送重要的位置更改通知,该通知将唤醒为此通知注册的所有应用程序?这仅用于测试,我知道此私有API调用在提交到应用商店后会被拒绝。

  7. 手动触发django-simpleJWT身份验证

    我试图改变django-rest-framework-simplejwt的用途,以一种完全不同的方式进行身份验证(在两个不同的请求中使用电话号码和短信验证码)。问题是,我已经开发了一切,但由于这个认证系统在项目中的紧密集成,我将不得不手动触...

  8. 有没有办法手动触发FilePond压缩/调整大小?

    我正在使用FilePond和Doka来管理和编辑具有独特需求的表单上的图像上传,我希望在向FilePond添加文件时能够自动调整和/或压缩图像。我使用的是FilePond + Doka的React实现。图像大小调整和压缩已经配置好了,当用户...

  9. js 绑定带参数的事件以及手动触发事件

    1.html代码 复制代码 代码如下: div div id="tab" h2标题一/h2 h2标题二/h2 h2标题三/h2 h2标题四/h2 div dl id="tabcon" dd内容一/dd dd内容二/dd dd内容三/dd ...

  10. 如何设置bitbucket管道手动触发?

    我在bitbucket环境中编写了一个管道,但我希望管道只在用户运行它时触发,而不是在推送或提交时自动触发。代码如下:pipelines: branches: new_ui_apk: - step: ...