我有KendoUI和AngularJs的单页应用程序。我有两个带两个控制器的网格。当我选择第一个网格行(电影)时,我想将movieId传递给第二个控制器并获取此电影的演员。
这是我的第二个控制器:
myApp.controller("ActorsCtrl", function ($scope, $rootScope) {
$rootScope.$on("SetMovieId", function (event, movieId) {
alert(movieId);
$scope.movieId = movieId;
$scope.actorsGrid.dataSource.read();
$scope.actorsGrid.dataSource.refresh();
});
$scope.actorsGrid = {
dataSource: {
type: "application/json",
transport: {
read: {
url: "/Actors/GetActors",
data: { movieId: $scope.movieId }
}
},
pageSize: 5,
serverPaging: true,
serverSorting: true
},
sortable: true,
pageable: true,
dataBound: function () {
this.expandRow(this.tbody.find("tr.k-master-row").first());
},
columns: [{
field: "Name",
title: "Name",
width: "120px"
}, {
field: "BirthDate",
title: "Birth Date",
template: "#= kendo.toString(kendo.parseDate(BirthDate, 'yyyy-MM-dd'), 'MM/dd/yyyy') #",
width: "120px"
}]
};
});
这部影片是否正确添加? 如何刷新网格? 我的例子不起作用:(
答案 0 :(得分:0)
Kendo UI Datasource具有事件requestStart,您可以在其中传递参数以请求URL。
var urlFormat = "/actors/{0}";
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "/actors/",
dataType: "jsonp"
}
},
requestStart: function(e) {
e.options.url = kendo.format(urlFormat, movieId);
}
});