2015-09-25 61 views
1

我正在使用帶有AngularJs和TypeScript的Kendo Grid。我能夠得到選定的行,但我不能將結果分配給局部變量,因爲它似乎在不同的範圍內運行。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在我的控制器類中定義:

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

問題是this.selectedItem是未定義的,當我在另一個按鈕事件中檢查它稍後的。我想這是因爲範圍是不同的,當該功能在劍道電網被調用,所以「這個」意味着別的東西,而不是我的控制器類:

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

所以我的問題是我怎麼分配這個結果我的控制器類,所以我可以稍後訪問它?

回答

0

只有這樣我可以看到解決這個被添加以下代碼到我的handleNext功能:

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

你還需要有一個id屬性與劍道電網指令名稱EntitiesGrid

相關問題