I am trying to update my spreadsheet based on the jsonData i get from my controller.
Controller data:
public ActionResult GetDoubleCombinations(Telerik.Web.Spreadsheet.Workbook jsonData, int id) { foreach (var sheet in jsonData.Sheets) { var columnCount = sheet.Columns.Count; var rowCount = sheet.Rows.Count; for (int i = 2; i < columnCount; i++) { var expressionTop = expressionService.GetExpressionByName(sheet.Rows[1].Cells[i].Value.ToString(), id); var parameterTop = expressionTop.FK_ParameterID; for (int j = 2; j < rowCount; j++) { var expressionLeft = expressionService.GetExpressionByName(sheet.Rows[j].Cells[1].Value.ToString(), id); var parameterLeft = expressionLeft.FK_ParameterID; if (parameterTop == parameterLeft) { var position = sheet.Rows[i].Cells[j]; position.Enable = false; position.Background = "#d3d3d3"; } } } } return Json(new { success = true, data = jsonData }); }
this is what i get in my view:
function getDoubleCombinations() { var spreadsheet = $("#matrix").data("kendoSpreadsheet"); const urlParams = new URLSearchParams(window.location.search); const id = urlParams.get('analysisId'); $.ajax({ url: "@Url.Action("GetDoubleCombinations", "Matrix")", data: JSON.stringify({ jsonData: spreadsheet.toJSON(), id: id }), contentType: "application/json", type: "POST", success: function (response) { spreadsheet.fromJSON(response.data); }, error: function () { alert("Error loading data."); } }); }
I use "spreadsheet.fromJSON" to update my spreadsheet.
My spreadsheet:
@model Telerik.Web.Spreadsheet.Workbook @(Html.Kendo().Spreadsheet() .Name("matrix") .HtmlAttributes(new { style = "width:100%" }) .BindTo(Model) .Toolbar(t => { t.Home(h => { h.Clear(); h.ExportAs(); }); t.Data(false); t.Insert(false); }) )
My problem is, that the spreadsheet is not updated.
In the attachement i have a screenshot of my jsonData.