Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jqGrid gridComplete:- getRowData - get row cell value from array

Please - need syntax for setting variables from jqGrid getRowData property

Looping thru rows - just need to pull the ID and Phrase column values into variables

gridComplete: function () {
  var allRowsInGrid = $('#list').jqGrid('getRowData');
  for (i = 0; i < allRowsInGrid.length; i++) {
    pid = allRowsInGrid[i].ID;
    vPhrase = allRowsInGrid[i].Phrase;
    vHref = "<a href='#' onclick='openForm(" + pid + ", " + vPhrase + ")'>View</a>";
  }
},

Was able to get ID easy enough with getDataIDs :-)

Need help with getting specific column values for pid and vPhrase for i

Cheers

like image 231
Charlez Avatar asked Mar 08 '13 01:03

Charlez


People also ask

How do I get jqGrid row data?

jqGrid('getRowData'); for (i = 0; i < allRowsInGrid. length; i++) { pid = allRowsInGrid[i]. ID; vPhrase = allRowsInGrid[i].

How do I get the value of a jqGrid cell?

Read all dataIDs from grid:getDataIDs(); You can iterate on grid based on ID list. Then you will get row using dataID. When your entire row get done then you can get the cell value.


2 Answers

Try this:

var ids = jQuery("#list").jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) 
{
    var rowId = ids[i];
    var rowData = jQuery('#list').jqGrid ('getRowData', rowId);

    console.log(rowData.Phrase);
    console.log(rowId);
}

Please Note: If your goal is to add a link to cell which calls a javascript method you can achieve this by using formatter like given below, formatter should be added to colModel like you add other column properties like name,index,width,align etc, so you can avoid the iteration over row data

formatter: function(cellvalue, options, rowObject) {

    return  "<a href='#' onclick='openForm(" 
            + rowObject.ID + ", " 
            + rowObject.Phrase 
            + ")'>View</a>"; 
      }
like image 102
Kris Avatar answered Sep 18 '22 09:09

Kris


This is what I use when I want to get Data by RowID for specific Cell.

var selRow = jQuery("#list10").jqGrid('getGridParam','selarrrow');  //get selected rows
for(var i=0;i<selRow.length;i++)  //iterate through array of selected rows
{
    var ret = jQuery("#list10").jqGrid('getRowData',selRow[i]);   //get the selected row
    name = ret.NAME;  //get the data from selected row by column name
    add = ret.ADDRESS;
    cno = ret.CONTACTNUMBER
    alert(selRow[i] +' : ' + name +' : ' + add +' : ' + cno);
}
like image 42
Bhushan Avatar answered Sep 18 '22 09:09

Bhushan