or
All... I have to change the Grid Layout on an user selection. So the grid will have different column layout and different datasource set for each User selection..
So I did the obvious chose of a Kendo Newbe ... I destroyed the previously created Kendo grid, cleared the grid inner html and recreated the kendo grid using the new column values
Everything works fine.. but after the second selection (first selection is when the kendogrid is first created) ... the grouping wont work ..
any lime light on this issue is appriciated...
Here is the code snippit..
<div id="grid" style="height: 380px"></div>
01.var contactGroupsDataSource = new kendo.data.DataSource({02. transport: {03. read: {04. url: "api/contactgroups"05. }06. }07.});08. 09.$('#contactGroupsList').kendoListView({10. dataSource: contactGroupsDataSource,11. template: "<li class='contactGroupListItem' data-number='${Number}'>${Number} ${Name} (<span data-bind="text: cgcount[1]"></span>) </li>"12.});13. 14.viewModel = kendo.observable({15. contactsDataSource: new kendo.data.DataSource({16. transport: {17. read: {18. url: "api/contacts"19. }20. },21. schema: {22. model: {23. id: "Id",24. fields: {25. id: { type: "string" },26. FirstName: { type: "string" },27. LastName: { type: "string" },28. ContactGroupNumber: { type: "integer" }29. }30. }31. },32. change: function (e) {33. var data = this.data();34. 35. for (var i = 0; i < data.length; i++) {36. var cg = data[i]["ContactGroupNumber"];37. viewModel.cgcount.splice([cg - 1], 1, viewModel.cgcount[cg - 1] + 1);38. }39. 40. for (var i = 0; i < 7; i++) {41. console.log(i + 1 + ': ' + viewModel.cgcount[i]);42. }43. }44. }),45. cgcount: new kendo.data.ObservableArray([0, 0, 0, 0, 0, 0, 0])46. });47. 48. kendo.bind($("#contactsGroupContainer"), viewModel);49. 50. contactsListView = $('#contactsList').kendoGrid({51. dataSource: viewModel.contactsDataSource,52. sortable: true,53. rowTemplate: kendo.template($("#rowTemplate").html())54. });public class User{ public int Id { get; set; } public string Name { get; set; }}@(Html.Kendo().MultiSelectFor(model => model.Members) .DataValueField("Id") .DataTextField("Name") .Placeholder("Type user's name...") .DataSource(source => { source.Read(read => { read.Action("MemberRead", "Group"); }); }))Id:0Name:TestDescription:TestMembers.Id:1Members.Name:JanMembers:[object Object]$("#listview").kendoMobileListView({ dataSource: data, template: kendo.template($("#exampleTemplate").html()), click: function (e) { // event to handle change in dataSource $("#listivew").data("kendoMobileListView").setDataSource(dataSource); }});
static gridItems: cGridItem[] = [];gridItems.push(item); var grid = $("#grid").data("kendoGrid");grid.setDataSource(gridItems);grid.dataSource.read();// Define a DataSource static gDataSource = new kendo.data.DataSource({ data: tsDataManager.gridItems }); // Create an observable object. static vm = kendo.observable({ items: tsDataManager.gDataSource });tsDataManager.gDataSource.add(item);var grid = $("#vmGrid").data("kendoGrid");var item = grid.dataSource.get(id);item.TimeStamp = tStamp; item.Close = aInfo.Last; item.Price = aInfo.Last; item.NetChange = aInfo.Net; item.AskPrice = aInfo.AskPrice; item.AskSize = aInfo.AskSize; item.BidPrice = aInfo.BidPrice; item.BidSize = aInfo.BidSize; item.TotalVolume = aInfo.Volume;grid.refresh();var grid = $("#vmGrid").data("kendoGrid");var item = tsDataManager.gDataSource.get(id); item.TimeStamp = tStamp; item.Close = aInfo.Last; item.Price = aInfo.Last; item.NetChange = aInfo.Net; item.AskPrice = aInfo.AskPrice; item.AskSize = aInfo.AskSize; item.BidPrice = aInfo.BidPrice; item.BidSize = aInfo.BidSize; item.TotalVolume = aInfo.Volume;grid.refresh();