setDataAtCell

hot3.addHook('afterChange', function (change, source, row, prop) {

    data = this.getDataAtCell(row);
    if (!change) {
        return;
    }
    else {


        //save all data to local storge if the edit happends
        $.each(change, function (index, element) {
            var custom = [];
            var row = element[0];
            var col = element[1];
            //if (col === "Track") {
            //    break
            //}
            var oldVal = element[2];
            var newVal = element[3];
            rowcol = hot3.getDataAtRow(row, col);
            rowcol.splice(-1, 1)
            var a = rowcol.length;
            var Rowcount = hot3.countRows();
            var IndexeddbName1 =  @Html.Raw('"' +IndexeddbName + '"') ;
            var ColumHeader = hot3.getColHeader();
            var ImportantField1 =  @Html.Raw('"' + ImportantField + '"') ;
            var str_array = ImportantField1.split(',');
            var TrackValidator = [];
            for (var i = 0; i < str_array.length; i++) {
                if (str_array[i] === "Yes") {

                    if (rowcol[i] !== '' && rowcol[i] !== null) {
                        TrackValidator.push(i);
                    }
                }

            }
            var CountImportfield = ImportantField1.split("Yes").length - 1
            var ColCount = hot3.countCols();
            var LastCol;
            var newColCount = ColCount - 1;
            if (CountImportfield === TrackValidator.length) {
                if (!setter) {
                    setter = true;
                    LastCol = "Track";
                    rowcol.push(LastCol)
                    //hot3.setDataAtCell(row, newColCount, 'Track')
                } else {
                    setter = false;
                    LastCol = "Track";
                    rowcol.push(LastCol)
                }

            } else {
                if (!setter) {
                    setter = true;
                    LastCol = "Please fill all Mandatory Field";
                    rowcol.push(LastCol)
                   // hot3.setDataAtCell(row, newColCount, 'Please fill all Mandatory Field')
                } else {
                    setter = false;
                    LastCol = "Please fill all Mandatory Field";
                    rowcol.push(LastCol)

                }
            }
            ColumHeader.splice(0, 1);
            if (ColumHeader.includes("Track") !== false) {
                for (var i = ColumHeader.length - 1; i >= 0; i--) {

                    if (ColumHeader[i] === "Track") {
                        //array.splice(i, i);
                    }
                }

            }
            var FixedColumnCount1 = @Html.Raw(FixedColumnCount);
            var FixedColumnsdata = @Html.Raw(Fixeddatas);
            var FixedColumns1 =  @Html.Raw("'" + FixedColumns + "'");
            var ConcatCountHT1 = @Html.Raw(ConcatCountHT);
            var ConcatColumnHT1 = @Html.Raw("'" + ConcatColumnHT + "'");
            var Htalasql = @Html.Raw("'" + HTDataAlsql + "'");
            //alert(col);
            if (col !== "Track" || col !== "id") {
               
                check(rowcol, row, col, newVal, Rowcount, IndexeddbName1, ColumHeader, FixedColumnCount1, FixedColumns1, FixedColumnsdata, ConcatCountHT1, ConcatColumnHT1, Htalasql, LastCol, ColCount);
                hot3.setDataAtCell(row, ColCount - 1, LastCol)
            }
            });

        //-------------------------------------------------------
    }

});