Подтвердить что ты не робот

Как получить значение ячейки выделенной строки jqGrid

Кто-нибудь знает, как получить значение ячеек выбранной строки JQGrid? я m, используя mvc с JQGrid, я хочу получить доступ к значению скрытого столбца выбранной строки?

4b9b3361

Ответ 1

Сначала вы можете получить rowid выбранной строки по методу getGridParam и 'selrow' в качестве параметра, а затем вы можете использовать getCell, чтобы получить значение ячейки из соответствующего столбца:

var myGrid = $('#list'),
    selRowId = myGrid.jqGrid ('getGridParam', 'selrow'),
    celValue = myGrid.jqGrid ('getCell', selRowId, 'columnName');

'columnName' должно быть тем же именем, которое вы используете в свойстве 'name' для colModel. Если вам нужны значения из большого столбца выбранной строки, вы можете использовать getRowData вместо getCell.

Ответ 2

Вы также можете использовать

var rowId =$("#list").jqGrid('getGridParam','selrow');  
var rowData = jQuery("#list").getRowData(rowId);
var colData = rowData['UserId'];   // perticuler Column name of jqgrid that you want to access

Ответ 3

Чтобы добавить, вы также можете получить значение ячейки jqGrid на основе индекса rowID плюс столбца (а не имени столбца):

Итак, чтобы получить значение в четвертом столбце (индекс столбца №3) для строки с идентификатором первичного ключа 1234, мы могли бы использовать это:

var rowID = 1234;
var columnIndex = 3;
var cellValue = $("#" + rowID).find('td').eq(columnIndex).text();

Btw, по совершенно не связанной теме (но, пожалуйста, не проголосуйте меня):

Я не понимал, что вы можете довольно легко связать текстовые поля с вашим jqGrid, чтобы ваши пользователи могли выполнять мгновенный поиск, не открывая диалог поиска.

enter image description here

Для этого вам понадобится немного 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 более удобным для пользователя.

Пользователи могут сразу начать вводить строку поиска, а не открывать диалоговое окно "Поиск", не забудьте изменить оператор на "содержит", затем начать вводить текст и снова закрыть диалоговое окно поиска.

Ответ 4

yo должны декларировать dears...

var selectedRowId = $('#list').jqGrid ('getGridParam', 'selrow');
var columnName = $('#list').jqGrid('getCell', selectedRowId, 'columnName');

var nombre_img_articulo = $('# list'). jqGrid ('getCell', selectedRowId, 'img_articulo');

Ответ 5

Just Checkout Это:

Решение 1:

В функции Subgrid Вы должны написать следующее:

var selectid = $(this).jqGrid('getCell', row_id, 'id');
alert(selectid);

Где row_id - переменная, которую вы определяете в subgrid как параметр. И id - это имя столбца, которое вы хотите получить значение ячейки.

Решение 2:

Если вы получаете идентификатор строки Jqgrid Rid В предупреждении Затем укажите свой первичный ключ как key:true В ColModels. Таким образом, вы получите значение своего идентификатора базы данных в состоянии готовности. Вот так:

{name:"id",index:"id",hidden:true, width:15,key:true, jsonmap:"id"},

Ответ 6

Используйте "selrow", чтобы получить выбранную строку Id

var myGrid = $('#myGridId');

var selectedRowId = myGrid.jqGrid("getGridParam", 'selrow');

а затем используйте getRowData, чтобы получить выбранную строку в указанном indexRowId.

var selectedRowData = myGrid.getRowData(selectedRowId);

Если для параметра multiselect установлено значение true в jqGrid, используйте "selarrrow" для получения списка выбранных строк:

var selectedRowIds = myGrid.jqGrid("getGridParam", 'selarrrow');

Используйте цикл для итерации списка выбранных строк:

var selectedRowData;

for(selectedRowIndex = 0; selectedRowIndex < selectedRowIds .length; selectedRowIds ++) {

   selectedRowData = myGrid.getRowData(selectedRowIds[selectedRowIndex]);

}