Просто добавьте, вы также можете получить значение ячейки jqGrid, основываясь на индексе строки плюс индекс столбца (а не имя столбца):
Итак, чтобы получить значение в четвертом столбце (индекс столбца № 3) для строки с идентификатором первичного ключа 1234, мы могли бы использовать это:
var rowID = 1234;
var columnIndex = 3;
var cellValue = $("#" + rowID).find('td').eq(columnIndex).text();
Кстати, по совершенно не связанной теме (но, пожалуйста, не голосуйте за меня):
Я не осознавал, что вы можете довольно легко связать текстовые поля с вашим jqGrid, чтобы ваши пользователи могли выполнять мгновенный поиск, не открывая диалоговое окно поиска.
Для этого вам понадобится немного HTML, например:
<input type="text" name="employeeName" id="employeeName" style="width:250px" />
<!-- This will be my jqGrid control and pager -->
<table id="tblEmployees"></table>
<div id="pager"></div>
И немного JavaScript, как это:
$("#employeeName").on('change keyup paste', function () {
SearchByEmployeeName();
});
function SearchByEmployeeName()
{
// Fetch the text from our <input> control
var searchString = $("#employeeName").val();
// Prepare to pass a new search filter to our jqGrid
var f = { groupOp: "AND", rules: [] };
// Remember to change the following line to reflect the jqGrid column you want to search for your string in
// In this example, I'm searching through the UserName column.
f.rules.push({ field: "UserName", op: "cn", data: searchString });
var grid = $('#tblEmployees');
grid[0].p.search = f.rules.length > 0;
$.extend(grid[0].p.postData, { filters: JSON.stringify(f) });
grid.trigger("reloadGrid", [{ page: 1 }]);
}
Это настоящий переломный момент для меня ... он действительно делает jqGrid гораздо более удобным для пользователя.
Пользователи могут сразу начать вводить строку поиска, вместо того, чтобы открывать диалоговое окно поиска, не забудьте изменить оператор на «содержит», затем начать ввод и снова закрыть диалоговое окно поиска.