diff --git a/src/Presentation/Nop.Web/Areas/Admin/Views/Shared/Table.cshtml b/src/Presentation/Nop.Web/Areas/Admin/Views/Shared/Table.cshtml index ac80072c0b5..fa4d7a620e4 100644 --- a/src/Presentation/Nop.Web/Areas/Admin/Views/Shared/Table.cshtml +++ b/src/Presentation/Nop.Web/Areas/Admin/Views/Shared/Table.cshtml @@ -262,12 +262,19 @@ updateRowData_@(tableName)(dataId, origData, nameData); } - function updateRowData_@(tableName)(currentCells, data, nameData) { + function updateRowData_@(tableName)(row, data, nameData) { var updateRowData = []; updateRowData.push({ 'pname': nameData, 'pvalue': data }); $.each(columnData_@(tableName), function (index, element) { if (element.Editable == true) { - var value = $($($(currentCells).children("[data-columnname='" + element.Data + "']")).children('input')[0]).val(); + var value = $($($(row).children("[data-columnname='" + element.Data + "']")).children('input')[0]).val(); + if (value === undefined) { + var dtVal = getValueFromDataTable('#@Model.Name', row, element.Data); + if (dtVal !== undefined) { + + value = dtVal; + } + } if (element.Type == 'number') { value = new Intl.NumberFormat('@currentCulture', { useGrouping: false }).format(value); } @@ -326,11 +333,22 @@ } } - function saveRowIntoArray_@(tableName)(cureentCells) { + function saveRowIntoArray_@(tableName)(row) { $.each(columnData_@(tableName), function (index, element) { if (element.Editable == true) { - var htmlVal = $($(cureentCells).children("[data-columnname='" + element.Data + "']")[0]).html(); - editRowData_@(tableName)[element.Data] = htmlVal; + var htmlVal = $($(row).children("[data-columnname='" + element.Data + "']")[0]).html(); + if (htmlVal === undefined) { + var val=getValueFromDataTable('#@Model.Name',row,element.Data); + if (val !== undefined) { + + editRowData_@(tableName)[element.Data] = val; + } + + } + else { + editRowData_@(tableName)[element.Data] = htmlVal; + + } } }); } diff --git a/src/Presentation/Nop.Web/wwwroot/js/admin.table.js b/src/Presentation/Nop.Web/wwwroot/js/admin.table.js index c86be692be4..f21fbb8f7c7 100644 --- a/src/Presentation/Nop.Web/wwwroot/js/admin.table.js +++ b/src/Presentation/Nop.Web/wwwroot/js/admin.table.js @@ -62,4 +62,16 @@ function updateTableWidth(tableSelector) { if ($.fn.DataTable.isDataTable(tableSelector)) { $(tableSelector).DataTable().columns.adjust(); } +} +function getValueFromDataTable(tableSelector, row, columnName) { + var val = $.grep($(tableSelector).DataTable().settings()[0].aoColumns, + function (c, i) { + return (!c.bVisible && c.data === columnName); + }); + if (val !== undefined) { + var rowData = $(tableSelector).DataTable().row(row[0]).data()[columnName]; + + return rowData; + } + return undefined; } \ No newline at end of file