or
$("#ReportsGrid").data("kendoGrid").columns[3].sortable.compare01.Main starting point for Javascript file02. 03.$(document).ready(function () {04. console.log("Loading");05. var viewModel = new TradeViewModel();06. LoadControls(); 07. kendo.bind($("#view"), viewModel);08.});09. 10. 11.var TradeViewModel = function() {12. var self = this;13. 14. var dateNow = getFormattedDate();15. self.viewModel = kendo.observable({16. search: {17. DateFrom: dateNow,18. DateTo: dateNow,19. TradeId: null,20. TradeStatus: "All",21. IsVoice: true,22. IsLive: false,23. BuyCompany: null,24. SellCompany: null25. },26. tradeDetailsSearch: {27. LiveTradeId: 0,28. EngineId: 0,29. ServerId: 030. },31. tradeData: "SomeData"32. });33. self.viewModel.bind("change", function (e) {34. // This function works and is fine.35. TradeSearch(param1,param2);36. console.log(e.field);37. console.log("Event Binding finished");38.}39. 40.var RefreshGrid = function (apiQuery) {41. 42.var ds = new kendo.data.DataSource({43. transport: {44. read: {45. url: apiQuery,46. dataType: "json"47. }48. }49. });50. 51. $("#grid").kendoGrid({52. // standard binding to grid etc... this works fine53. });54. 55. // This registers a double-click listener, in my case I get the row details back.56. $(".k-grid-content").dblclick(DoubleClickAction);57.};1.function DoubleClickAction() {2. var grid = $("#grid").data("kendoGrid");3. var selectedRow = grid.dataItem(grid.select());4. console.log("You have double clicked on " + selectedRow.LiveTradeID);5. 6. // And now the different approaches I have taken to set the viewModel data.1.//... same function code as above.2. 3. // I get an error here that says : Uncaught ReferenceError: viewModel is not defined4. var testTradeData = viewModel.get("tradeData");5. console.log(testTradeData);6.};01.//... same function code as above. 02. 03.// Get JSON data based on Id04. 05. $.getJSON(apiQuery)06. // Handle success event.07. .done(function (jsonData) {08. if (jsonData.isEmptyObject)09. console.log("No data received");10. else {11. console.log("JSON data: " + jsonData);12. 13. var mappedTradeArray = $.map($.makeArray(jsonData), function(tradeData) 14. {15. return new GetTradeDetails(tradeData);16. });17. // I can see this correctly works and gets the data.18. console.log(mappedTradeArray); 19. 20. // ERROR : I get the same:21. // 'Uncaught ReferenceError: viewModel is not defined error' message22. viewModel.tradeData =mappedTradeArray[0];23. 24. // ERROR: I can also try to set it from the documentation 25. // that I have read on this website but get the same error :26. viewModel.set("tradeData",mappedTradeArray[0]);27. };28. });29. #= kendo.toString(CreateDate.DateTime, 'M/d/yyyy hh:mm tt') #
//in the view like this
app.filterService.viewModel.structureId
//model for filter
(function (global) {
var FilterModel,
app = global.app = global.app || {};
FilterModel = kendo.data.ObservableObject.extend({
structures: kendo.observable({ items: GetStructures()}),
structureId: 49118,
days: kendo.observable({
items: [
{ id: 7, name: "Past 7 Days" },
{ id: 30, name: "Past 30 Days" },
{ id: 60, name: "Past 60 Days" },
{ id: 90, name: "Past 90 Days" }]
}),
day: 7
});
app.filterService = { viewModel: new FilterModel() };
console.log(app.filterService.viewModel.structureId);
}
)(window);