or
01.<div ng-controller="chtController">02. <fieldset>03. <legend>04. <span><input type="checkbox" ng-change="loadCostChart()" ng-model="display" /> Cost Chart</span>05. </legend>06. 07. <div ng-show="display">08. <div id="CostChart">09. <div class="k-content">10. <div id="chtCost" kendo-chart="chtCost" k-options="costOptions" data-role="chart" class="k-chart"></div>11. <!-- k-rebind="costData" -->12. </div>13. </div>14. </div>15. </fieldset>16.</div>01.(function () {02. 'use strict';03. 04. angular.module('reportFormsApp')05. .controller('chtController', ['$scope', 'DataService', chtController]);06. 07. function chtController($scope, DataService) {08. $scope.costData = [];09. $scope.display = false;10. 11. function activate() {12. console.log('Setting chart options...');13. 14. // Set the chart options...15. $scope.costOptions = {16. dataSource: {17. data: $scope.costData18. },19. title: {20. text: '(Evc) Cost and Schedule Variances',21. font: '22px Trebuchet MS, Bold',22. color: 'black'23. },24. legend: {25. position: 'bottom'26. },27. seriesDefaults: {28. type: "column",29. stack: false30. },31. series: [{32. name: 'Budget',33. field: 'budget',34. categoryField: 'date' //,35. //color: 'blue'36. }, {37. name: 'Run Budget',38. field: 'runBudget',39. categoryField: 'date' //,40. //color: 'yellow'41. }, {42. name: 'Earned',43. field: 'earned',44. categoryField: 'date' //,45. //color: 'red'46. }],47. categoryAxis: {48. baseUnit: 'years'49. },50. valueAxis: {51. line: {52. visible: true53. }54. }55. }56. };57. 58. $scope.loadCostChart = function() {59. console.log('Loading Cost data...');60. 61. DataService.getCostChartData().then(62. // Success...63. function (results) {64. var data = results.data;65. 66. for (var i = 0; i < data.length; i++) {67. data[i].date = new Date(data[i].date);68. }69. 70. $scope.costData = data;71. 72. console.log($scope.costData);73. console.log('Loaded Cost data...');74. 75. console.log('Updating chtCost...');76. var chtData = new kendo.data.DataSource($scope.costData);77. $scope.chtCost.dataSource.data = chtData;78. console.log('Updated chtCost...');79. },80. // Error...81. function (results) {82. var msg = "The following error was reported when attempting to retrieve the Cost Chart data;\n\n" + results.statusText;83. alert(msg);84. });85. 86. };87. 88. $(document).ready(function () {89. console.log('Document ready...')90. activate();91. });92. };93.})();Everything appears to work correctly - all of the "console.log" lines are executed, all of the data is written to the console on line 72, no errors are displayed.
I have also tried;
$scope.chtCost.dataSource.data = $scope.costData;// PUT: api/VHFMasterLists [ResponseType(typeof(void))] public IHttpActionResult PutVHFMasterList(VHFMasterList vHFMasterList) { if (!ModelState.IsValid) { return BadRequest(ModelState); } return StatusCode(HttpStatusCode.NoContent); }
I then have a datasource as follows:
var tmpdataSource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl + "api/VHFMasterLists",
dataType: "json"
},
update: {
url: crudServiceBaseUrl + "api/VHFMasterLists",
dataType: "json",
data: { Frequency:"GGGG", Id: 1 },
type: "PUT",
contentType: "application/json; charset=utf-8",
},
parameterMap: function (model, operation) {
if (operation !== "read" && model) {
return kendo.stringify(model);
}
}
},
batch: true,
pageSize: 20,
schema: {
model: {
id: "Id",
fields: {
Id: { editable: false,
nullable: false,
type: "number"
},
Frequency: { type: "string"}
}
}
}
});
$("#grid").on("dblclick", " tbody > tr", function () { var grid = $("#grid").data("kendoGrid"); gridWaSelectdRowIndex = $(this).closest("tr").index(); } });
001.<!DOCTYPE html>002.<html>003. <head>004. <title></title>005. <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.1.318/styles/kendo.common.min.css" />006. <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.1.318/styles/kendo.bootstrap.min.css" />007. 008. <!-- Latest compiled and minified CSS -->009. <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">010. <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">011. 012. <script src="http://cdn.kendostatic.com/2014.1.318/js/jquery.min.js"></script>013. <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>014. <script src="http://cdn.kendostatic.com/2014.1.318/js/kendo.all.min.js"></script>015. </head>016. <body>017. <div class="container">018. <div class="jumbotron">019. <h1>Environmental Affairs <small>Document Manager</small></h1>020. <p>Upload concern related documents and images</p>021. </div>022. <script>023. function getParameterByName(name) {024. name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");025. var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),026. results = regex.exec(location.search);027. return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));028. }029. function isFormValid() {030. var x = document.getElementById("field1").value;031. if (x == null || x == "") {032. alert("Select a case");033. return false;034. }035. }036. function getSelectedCase() {037. //Selecting Grid038. var gview = $("#grid").data("kendoGrid");039. //Getting selected item040. var selectedItem = gview.dataItem(gview.select());041. //accessing selected rows data 042. document.getElementById("field1").value = selectedItem.EnforcementNumber;043. }044. </script>045. <!-- Kendo will automatically set the form enctype attribute to "multi-part/form-data" -->046. <form action="upload.php" onsubmit="return isFormValid()" method="post" enctype="multipart/form-data">047. <div class="form-group">048. <label for="field2">Choose a document or image...</label>049. <input name="fileToUpload" id="fileToUpload" type="file" class="form-control input-lg"/>050. <input id="field1" name="field1" type="hidden"/>051. </div>052. <label for="grid">Select a case to attach your document to...</label>053. <div id="grid"></div>054. <script>055. // document ready fires when the whole page is ready056. // and all elements, scripts, styles have been loaded057. $(function () {058. // regex for some date parsing059. // select the div and create the grid element060. $("#grid").kendoGrid({061. dataSource: {062. type: "odata",063. transport: {065. },066. sort: {067. field: "EnforcementNumber",068. dir: "desc"069. },070. schema: {071. data: "value",072. total: "['odata.count']",073. model: { 074. fields: {075. Id: {type: "number" },076. EnforcementNumber: {type: "string" },077. ParcelNumber: {type: "string" },078. Street: {type: "string" },079. DateAndTimeOfComplaint: {type: "datetime" },080. TypeOfComplaint: {type: "string" }081. }082. }083. },084. pageSize: 5,085. serverPaging: false,086. serverFiltering: true,087. serverSorting: true088. },089. filterable: true,090. selectable: "row",091. sortable: true,092. pageable: true,093. columns: [094. {095. field: "Id",096. width: 75,097. filterable: false098. },099. {100. field: "EnforcementNumber",101. title: "Case"102. },103. {104. field: "ParcelNumber",105. title: "Parcel"106. },107. {108. field: "Street",109. title: "Address"110. },111. {112. field: "DateAndTimeOfComplaint",113. title: "Complaint Date",114. format: "{0:MM/dd/yyyy}",115. width: 200116. },117. {118. field: "TypeOfComplaint",119. title: "Complaint Type"120. }121. ]122. 123. });124. 125. });126. 127. $(document).ready(function () {128. $("#fileToUpload").kendoUpload({129. multiple: false130. });131. var caseId = getParameterByName('id');132. alert(caseId);133. var el = $("#grid"),134. grid = el.data("kendoGrid"),135. dataSource = grid.dataSource,136. model = dataSource.get(caseId),137. index = dataSource.indexOf(model);138. dataSource.page(index/dataSource.pageSize() + 1);139. var row = el.find("tbody>tr[data-id=" + model.id + "]");140. grid.select(row);141. });142. </script>143. <br>144. <label>Enter a file description and click Submit...</label>145. <div class="input-group">146. <input id="field2" name="field2" type="text" class="form-control" placeholder="File Description"/>147. <span class="input-group-btn">148. <input type="submit" onclick="return getSelectedCase();" class="btn btn-default" value="Submit"/>149. </span>150. </div>151. </form>152. </div>153. </body>154.</html>