在jqgrid行中获取2个或更多列值

时间:2011-07-02 05:25:09

标签: javascript jquery jqgrid

有没有办法在jqgrid行中获取第一列值和第二列值? 我正在使用此代码获取我的其他程序中行的第一个值

$("#tblTallySheet").jqGrid('getGridParam', 'selrow')

这是删除表格中的数据:

function tallyDelData(){
  var selected = $("#tblTallySheet").jqGrid('getGridParam', 'selrow');  
  var datas = {
    "SessionID": $.cookie("SessionID"),
    "operation": "delete",
    "keyFields": [{"name":"tallyDate", "value":selected}]
  };
  tallyUpdate(datas);
} 

function tallyUpdate(dat){
  $.ajax({
    type: 'GET',
    url: 'processjson.php?' + $.param({path:'tally/update',json:JSON.stringify(dat)}),
    dataType: primeSettings.ajaxDataType,
    success: function(data) {
      if ('error' in data)
      {
        showMessage('ERROR: ' + data["error"]["msg"]);
      }
      else{
        $('#tblTallySheet').trigger('reloadGrid'); 
      }
    }
  });
} 

由于我的第一列是日期,并且有数据具有相同的日期,我想知道该函数是否仅影响所选行(注意:有几行具有相同的日期)?

如果选择日期行不好,我想得到第二个值是一个木板编号(因为我的程序在同一个日期不能有两个相同的木板编号)。但是我怎么能这样做呢?

请帮忙......

1 个答案:

答案 0 :(得分:1)

您可以使用getCell方法获取由列索引的列名标识的单元格。要包含该行的所有列,您可以使用getRowData方法。

您在代码中使用的方法$('#tblTallySheet').trigger('reloadGrid')会重新加载整个网格而不是选定的行。如果您只需要更新一行,则可以使用setRowData

目前,您只向服务器发送没有任何数据的所选行的ID。它是您想要或想要包含在datas对象中的更多信息吗?我建议您另外使用$.ajaxcache:false参数,以确保您真正结束了服务器的某些内容,而不是使用缓存中的先前服务器响应。目前在Internet Explorer中您可以解决问题。

为了给您提供更多建议,您必须查看使用您发布的功能的上下文。