jqGrid gridComplete: - getRowData - 从数组中获取行单元格值

时间:2013-03-08 01:40:32

标签: javascript jquery jqgrid

  

请 - 需要从jqGrid getRowData设置变量的语法   属性

循环遍历行 - 只需将ID和Phrase列值拉入变量

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>";
  }
},

使用getDataIDs能够轻松获取ID: - )

需要帮助获取pid和vPhrase for i的特定列值

干杯

2 个答案:

答案 0 :(得分:17)

试试这个:

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);
}

请注意:如果您的目标是添加一个调用javascript方法的单元格的链接,您可以使用下面给出的formatter来实现此目的,格式化程序应该像添加其他列属性一样添加到colModel中,索引,宽度,对齐等,这样就可以避免迭代行数据

formatter: function(cellvalue, options, rowObject) {

    return  "<a href='#' onclick='openForm(" 
            + rowObject.ID + ", " 
            + rowObject.Phrase 
            + ")'>View</a>"; 
      }

答案 1 :(得分:4)

当我想通过RowID获取特定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);
}