Как получить доступ к данным в Kendo grid с помощью angular?
У меня есть сетка кендо с несколькими столбцами (назовем их A,B,C,D), где данные в столбце A &B я получаю из базы данных. Колонка с-это выпадающее и..
мое требование заключается в том, что при изменении выпадающего списка в столбце C я должен выполнить какие-то вычисления по значениям столбца B &C(то есть выпадающего значения), и результат должен быть обновлен в столбце D.
До выпадающей части мой код работает очень хорошо. Чего я не могу добиться, так это получить значение столбца B при изменении события выпадающего списка. Я попытался использовать $scope там, но безрезультатно. ""Я надеюсь, что смогу ясно донести свою проблему"..
Любая помощь будет высоко оценена......
Что я уже пробовал:
<select kendo-drop-down-list k-options="roleOptions" style="width: 100%"></select> <script> angular.module('PerformanceApp', ["kendo.directives"]).controller('PerformanceController', function ($scope, $http, $q) { $scope.Roles = { serverFiltering: true, transport: { read: { url: "Performance/GetRoles" } } } $scope.roleOptions = { optionLabel: "Select Role..", dataSource: $scope.Roles, dataTextField: "Role", dataValueField: "Id", change: function (e) { console.log(e.sender.value()); var aa = $scope.GetServerData(e.sender.value()); aa.then(function (data) { $scope.gridData.data(data); }); } }; $scope.gridData = new kendo.data.DataSource({ group: { field: "Category" } }); $scope.gridColumns = [ //{ field: "Category", title: "Category" }, { field: "CategoryParameter", title: "Category Parameter" }, { field: "TI", title: "Team/Individual" }, { field: "Score", title: "Score" }, { field: "YourRating", title: "Your Rating", template: '<select kendo-drop-down-list k-options="yourRating" style="width: 100%"></select>' }, { field: "YourComment", title: "Your Comment", editable: true }, { field: "ManagerRating", title: "Manager Rating", template: '<select kendo-drop-down-list k-options="managerRating" style="width: 100%"></select>' }, { field: "ManagerComment", title: "Manager Comment", editable: true }, { field: "IWeightage", title: "Individual Weightage", template: "" }, { field: "MWeightage", title: "Manager Weightage", template: "" } ]; $scope.ratingDataSource = [ { Text: 1, Value: 1 }, { Text: 2, Value: 2 }, { Text: 3, Value: 3 }, { Text: 4, Value: 4 }, { Text: 5, Value: 5 }, ]; $scope.yourRating = { dataTextField: "Text", dataValueField: "Value", dataSource: $scope.ratingDataSource, change: function (e) { debugger; //Here I want the value of column "Score" console.log(parseInt(this.value())); } }; $scope.managerRating = { dataTextField: "Text", dataValueField: "Value", dataSource: $scope.ratingDataSource, change: function (e) { console.log(parseInt(this.value())); } }; $scope.GetServerData = function (value) { var deferred = $q.defer(); $http({ method: 'GET', url: '/Performance/GetInitialValues', params: { roleId: value } }) .success(function (data) { console.log(data); deferred.resolve(data); }); return deferred.promise; } }); </script>
Andy Lanng
Я не вижу из вашего фрагмента кода никаких подробностей вашей сетки или того, как вы добавляете combobox. Это усложняет дело. Я понятия не имею, что ты можешь упустить.
Пожалуйста, используйте кнопку улучшить вопрос и включите немного больше деталей.
Получить данные из сетки тривиально, но это зависит от того, как вы их создаете
Member 11579819
Привет... я обновил вопрос. Извините, что не отформатировал его должным образом, так как это делало доступным для просмотра только небольшой код. взгляните на это. И дайте мне знать, если вы можете мне чем-то помочь
Andy Lanng
Да, я тоже пытался. довольно странно. Я только что положил на него простой текст :S
Member 11579819
Любые предложения по этому поводу
Member 11579819
Кендо сетки не хватало.. Выглядит это примерно так:
""кендо сетки="performanceGrid"
k-data-source= " gridData"
k-столбцы= " gridColumns" ""
Member 11579819
Двойная цитата-это div В приведенном выше комментарии