2010-02-19 343 views
1

有沒有辦法讓JQGrid返回使用multiSelect的列數據數組,而不僅僅是一個rowIds數組?JQGrid MultiSelect獲取列數據

目前我只能返回所選的最後一列數據。

jQuery("#buttonSelected").click(function() { 

      var ids = jQuery("#relatedSearchGrid").getGridParam('selarrrow'); 
      var count = ids.length; 

      for (var i = 0; i < count; i++) { 

      var columnData = $("#relatedSearchGrid").find("tbody")[0].rows[$("#relatedSearchGrid").getGridParam('selrow') - 1].cells[1].innerHTML; 

       alert("In the loop and " + columnData); 

      } 

      if (count == 0) return; 
      var posturl = '<%= ResolveUrl("~") %>Rel******/AddSelected****/' + ids; 
      if (confirm("Add these " + count + " Docs?")) { 
       $.post(posturl, 
       { ids: columnData }, 
       function() { jQuery("#relatedSearchGrid").trigger("reloadGrid") }, 
      "json"); 
      } 


     }) 

回答

5

使用getRowData獲取數據的每一行:

var rowData = $("#relatedSearchGrid").getRowData(ids[i]); 

var colData = rowData.Name_Of_Your_Column; 
+0

感謝賈斯汀爲快速,簡潔和正確的解決方案。 你是一個紳士和學者。 – Spanner 2010-02-22 10:01:31

+0

如果我的列名中包含空格或'/',該怎麼辦? – 2013-07-12 14:35:50

+1

@VishnudevK - 沒問題,只要使用語法'rowData ['Name_Of_Your_Column']' – 2013-07-12 14:43:27

0
var userListjqGrid = $('#UserListGrid'), 
     selRowId = userListjqGrid.jqGrid('getGridParam', 'selrow'), 
     userId = userListjqGrid.jqGrid('getCell', selRowId, 'UserId'), 
     userName = userListjqGrid.jqGrid('getCell', selRowId, 'UserName'), 
     subIds = $(subgridTableId).getGridParam('selarrrow'), 
     accessRuleIds = []; 
    for (var i = 0; i < subIds.length; i++) { 
     accessRuleIds[i] = $(subgridTableId).getRowData(subIds[i]).AccessRuleId; 
    }