i am coping data in kendo spreadsheet cell but it is taking too much time as because evry time firing change event. I have used batch method but still not getting any improvement.
function OnPeriodChange(e) {
var period = $("#ddlPeriodEnding").val();
var cellVal = $("#ddlcells").val();
var cellText = $("#ddlcells").data("kendoDropDownList").text();
var spreadsheet = $("#spreadsheet").data("kendoSpreadsheet");
var sheet = spreadsheet.activeSheet();
var range = sheet.selection();
var values = range.values();
sheet.batch(function () {
FillBalanceSheet(period, cellVal, cellText, sheet);
//sheet.range(cellVal + "1" + ":" + cellText + "200").select();
}, { layout: false });
//e.preventDefault();
}
even I am also using change metod in batch
sheet.batch(function () {
sheet.bind("change", function (e) {
var range = sheet.selection();
var values = range.values();
if (range._ref.bottomRight.row == 0) {
if (values.length == 1 && values[0][0] != null) {
$("#ddlPeriodEnding").data("kendoDropDownList").value(values[0][1]);
$("#ddlPeriodEnding").data("kendoDropDownList").text(values[0][0]);
}
var selCell = cols[range._ref.bottomRight.col];
var colPos = getKey(selCell, colText);
if (colPos != undefined) {
$("#ddlcells").data("kendoDropDownList").text(colPos);
//var x = $('#ddlcells').data("kendoDropDownList").dataItem(colPos);
// $("#ddlcells").data("kendoDropDownList").value(x.Value);
}
else {
var selNextCell = cols[range._ref.bottomRight.col + 1];
var colPosnext = getKey(selNextCell, colText);
if (colPosnext != undefined)
{
$("#ddlcells").data("kendoDropDownList").text(colPosnext);
//var x = $('#ddlcells').data("kendoDropDownList").dataItem(colPosnext);
// $("#ddlcells").data("kendoDropDownList").value(x.Value);
}
}
}
});
}, { layout: false });
please suggest.