如何获得按行的行ID在jqGrid中的数据(不是通过所选的行)
我想通过jqGrid中的单元格内容(不是通过选定的行)获取行ID。如何获得按行的行ID在jqGrid中的数据(不是通过所选的行)
通过PRODUCTID
,我可以得到该行的ID。
例如对于PRODUCTID
是ABCD
,我可以得到2.
列PRODUCTID
是唯一的。
请给我一些建议。
非常感谢。
我的代码示例:
$("#project_jqGrid").jqGrid({
url: 'project/projectQuery.php',
mtype: "POST",
datatype: "json",
page: 1,
colModel: [
{ label : "PRODUCTLINE",
//sorttype: 'integer',
name: 'PRODUCTLINE',
//key: true,
width: 100,
editable:true,
editoptions:{readonly:'readonly'}
},
{ label : "GPOWNER",
//sorttype: 'integer',
name: 'GPOWNER',
//key: true,
width: 150,
editable:true,
editoptions:{readonly:'readonly'}
},
{ label : "PRODUCTID",
//sorttype: 'integer',
name: 'PRODUCTID',
key: true,
width: 100,
editable:true,
editoptions:{readonly:'readonly'}
},
],
loadComplete: function() {
$.ajax({
dataType: 'json',
url : "project/projectDifferQuery.php", // your php file
type : "GET", // type of the HTTP request
success : function(data){
// I can get PRODUCTID from mysql database
// I want to get rowid to change cells color by PRODUCTID
// ........
// Change Cells Color(I need to get '5' by position of PRODUCTID)
//$('#project_jqGrid').jqGrid('setCell',5,"GPOWNER","",{'background-color':'#FF4545'});
}
});
},
loadonce: true,
viewrecords: true,
width: 'auto',
height: 'auto',
rowNum: 20,
pager: "#project_jqGridPager"//,
});
>版本: - 5.1.1的jqGrid
是在ProductID
是独一无二的,该网格包含ProductID
作为列名称colModel
,则建议将key: true
添加到列定义中。它强制jqGrid使用ProductID
的值作为rowid。
理解的jqGrid的代码需要独特id
属性设置为jqGrid的的每一行(<tr>
元素)是很重要的。见here。因此,jqGrid 的输入数据必须包含rowid信息的。 jqGrid的输入数据有很多可选的格式。以最常见的方式,输入数据应该包含id
属性。如果您的输入数据使用ProductID
作为行的唯一ID,那么您可以添加选项jsonReader: { id: "ProductID" }
以通知jqGrid。在的情况下,您将不需要包含ProductID
作为colModel
中的列。
这也就不难理解你想要得到的东西 - 我想你指的rowIndex,所以这里有一些可以帮助的方法。
方法
getGridRowById(串ROWID)
返回使用id = rowid的作为文档对象行
getInd(串ROWID,[布尔rowcontent])
返回由grid id row - rowid指定的网格表中行的索引。如果将rowcontent设置为true,则返回行文档对象
如果将行作为文档对象,则可以获取索引和标识。假设rowData是一个文档排,然后
rowdata.rowIndex是该指数
rowdata.id是id
谢谢托尼。我有RowData但我不知道RowID。因为我想更改单元格颜色,所以我必须通过RowData获取RowID。你能给我一些建议吗?谢谢。 – Leo
什么是rowData - javaScript对象(数组)或文档对象。如果它是文档对象,那么id是RowData.id,如果这是JavaScript对象,你应该知道哪个字段是id,那么id将是RowData.ProductID或RowData ['ProductID'] –
对不起...我的解释是不清楚。我的意思是RowData是单元格的内容。请参阅“示例图片”。我的意思是RowData是“ABCD”。现在,我知道“ABCD”,但我想知道它的行ID(在这种情况下,行ID是2)。如果单元格的内容为“TEST123”,则行ID为1. – Leo
谢谢奥列格。但我不知道你的意思。你能给我一些建议吗?谢谢。 – Leo
@Leo:不客气!您应该将问题的文本附加到用于创建jqGrid的** JavaScript代码**和JSON数据的示例中。 JavaScript代码应该包含'colModel'参数。来自'colModel'元素的一个对应于'ProductID'列。你应该在列中加上'key:true'。 – Oleg
感谢您的回复。我添加代码示例并修改一些说明。我主要需要通过单元格的内容获取rowid(colName是PRODUCTID)。 – Leo