【问题标题】:Kendo Grid get selected row and assign to local variableKendo Grid 获取选定的行并分配给局部变量
【发布时间】:2015-09-25 15:07:13
【问题描述】:

我正在使用带有 AngularJs 和 TypeScript 的 Kendo Grid。我能够获得选定的行,但我无法将结果分配给局部变量,因为它似乎在不同的范围内运行。

我的网格具有以下属性:

this.gridOptions = {
    dataSource: {
      data: this.items,
      pageSize: 10
    },
    selectable: 'row',
    filterable: {
      mode: 'row'
    },
    change: this.onItemSelect,
...
}

打字稿功能如下:

onItemSelect(kendoEvent : any) {
  var grid = kendoEvent.sender;
  this.selectedItem = grid.dataItem(grid.select());
}

selectedItem 在我的 Controller 类中定义:

export class ServicePackageModalController {
private selectedItem : any;
 ...
}

问题是当我稍后在另一个按钮事件中检查 this.selectedItem 时,它是未定义的。我认为这是因为在 Kendo Grid 中调用该函数时范围不同,因此“this”表示其他含义,而不是我的控制器类:

handleNext() {
 console.debug(this.selectedItem) //this is undefined here?
}

所以我的问题是如何将此结果分配给我的控制器类,以便以后可以访问它?

【问题讨论】:

    标签: angularjs typescript kendo-grid


    【解决方案1】:

    我认为解决此问题的唯一方法是将以下代码添加到我的 handleNext 函数中:

      var entityGrid = $("#EntitesGrid").data("kendoGrid");
      var selectedItem = entityGrid.dataItem(entityGrid.select());
    

    您还需要在 kendo-grid 指令上有一个名为 EntitiesGridid 属性。

    【讨论】:

    • 这个只是返回最新选中的行,如何实现全选中的行?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多