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.
