diff --git a/WebAPP/Classes/Grid.Class.js b/WebAPP/Classes/Grid.Class.js index e6f17ddd..0099c939 100644 --- a/WebAPP/Classes/Grid.Class.js +++ b/WebAPP/Classes/Grid.Class.js @@ -32,9 +32,11 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridSe').jqxGrid('getrows'); + var rows = $('#osy-gridSe').jqxGrid('getboundrows'); + // compare row UIDs rather than bound indices to correctly identify the edited row + var currentRowId = String($('#osy-gridSe').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Se.trim() == value.trim() && i != cell.row) { + if (rows[i].Se.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -86,9 +88,10 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridDt').jqxGrid('getrows'); + var rows = $('#osy-gridDt').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridDt').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Dt.trim() == value.trim() && i != cell.row) { + if (rows[i].Dt.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -140,9 +143,10 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridDtb').jqxGrid('getrows'); + var rows = $('#osy-gridDtb').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridDtb').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Dtb.trim() == value.trim() && i != cell.row) { + if (rows[i].Dtb.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -246,9 +250,10 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridTs').jqxGrid('getrows'); + var rows = $('#osy-gridTs').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridTs').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Ts.trim() == value.trim() && i != cell.row) { + if (rows[i].Ts.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -431,10 +436,11 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridTech').jqxGrid('getrows'); + var rows = $('#osy-gridTech').jqxGrid('getboundrows'); //console.log('rows ', rows) + var currentRowId = String($('#osy-gridTech').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Tech.trim() == value.trim() && i != cell.row) { + if (rows[i].Tech.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -560,9 +566,10 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridTechGroup').jqxGrid('getrows'); + var rows = $('#osy-gridTechGroup').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridTechGroup').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].TechGroup.trim() == value.trim() && i != cell.row) { + if (rows[i].TechGroup.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -629,9 +636,10 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridComm').jqxGrid('getrows'); + var rows = $('#osy-gridComm').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridComm').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Comm.trim() == value.trim() && i != cell.row) { + if (rows[i].Comm.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -703,9 +711,10 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridEmis').jqxGrid('getrows'); + var rows = $('#osy-gridEmis').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridEmis').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Emis.trim() == value.trim() && i != cell.row) { + if (rows[i].Emis.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -829,9 +838,10 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridStg').jqxGrid('getrows'); + var rows = $('#osy-gridStg').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridStg').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Stg.trim() == value.trim() && i != cell.row) { + if (rows[i].Stg.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -885,9 +895,10 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridScenario').jqxGrid('getrows'); + var rows = $('#osy-gridScenario').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridScenario').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Scenario.trim() == value.trim() && i != cell.row) { + if (rows[i].Scenario.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -969,9 +980,10 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridConstraint').jqxGrid('getrows'); + var rows = $('#osy-gridConstraint').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridConstraint').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Constraint.trim() == value.trim() && i != cell.row) { + if (rows[i].Con.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -1143,9 +1155,10 @@ export class Grid { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridIndicator').jqxGrid('getrows'); + var rows = $('#osy-gridIndicator').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridIndicator').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Indicator.trim() == value.trim() && i != cell.row) { + if (rows[i].Indicator.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } diff --git a/WebAPP/Classes/JqxSources.Class.js b/WebAPP/Classes/JqxSources.Class.js index f73334e1..a015642a 100644 --- a/WebAPP/Classes/JqxSources.Class.js +++ b/WebAPP/Classes/JqxSources.Class.js @@ -299,9 +299,10 @@ export class JqxSources { var validation_1 = function (cell, value) { var validationResult = true; - var rows = $('#osy-gridTech').jqxGrid('getrows'); + var rows = $('#osy-gridTech').jqxGrid('getboundrows'); + var currentRowId = String($('#osy-gridTech').jqxGrid('getrowid', cell.row)); for (var i = 0; i < rows.length; i++) { - if (rows[i].Tech.trim() == value.trim() && i != cell.row) { + if (rows[i].Tech.trim() == value.trim() && String(rows[i].uid) !== currentRowId) { validationResult = false; break; } @@ -334,4 +335,4 @@ export class JqxSources { return columnsTech; } -} \ No newline at end of file +}