Чтобы вычислить сумму всех столбцов в jqGrid, если имена столбцов заранее не известны, вы можете использовать следующие методы:
Метод 1: использование JavaScript/jQuery
-
Получите общее количество столбцов в сетке с помощью функции
getGridParam
:var numberOfColumns = $("#gridId").jqGrid('getGridParam', 'colModel').length;
-
Пройтись по каждому столбцу и вычислить сумму его значений:
var totalSum = 0; for (var i = 0; i < numberOfColumns; i++) { var columnSum = 0; $("#gridId").find("tr.jqgrow").each(function () { var cellValue = parseFloat($(this).find("td:nth-child(" + (i + 1) + ")").text()); if (!isNaN(cellValue)) { columnSum += cellValue; } }); totalSum += columnSum; }
-
Переменная
totalSum
будет содержать сумму всех столбцов в таблице.
Метод 2. Использование встроенных методов jqGrid
-
Используйте функцию
getGridParam
, чтобы получить общее количество столбцов:var numberOfColumns = $("#gridId").jqGrid('getGridParam', 'colModel').length;
-
Используйте функцию
getCol
, чтобы получить все значения определенного столбца и вычислить его сумму:var totalSum = 0; for (var i = 0; i < numberOfColumns; i++) { var columnSum = parseFloat($("#gridId").jqGrid('getCol', i, 'sum')); if (!isNaN(columnSum)) { totalSum += columnSum; } }
-
Переменная
totalSum
будет содержать сумму всех столбцов в таблице.