Javascript JqSuite PHP:获取列名或id?
如何在函数中获取列信息(名称或ID) grid.php中的一些代码:Javascript JqSuite PHP:获取列名或id?,javascript,jqgrid,jqgrid-php,jqgrid-formatter,Javascript,Jqgrid,Jqgrid Php,Jqgrid Formatter,如何在函数中获取列信息(名称或ID) grid.php中的一些代码: 我的自定义格式函数 我曾尝试使用rowObject.columnName,但无效 注意:我没有使用loadonce:true PS:如果需要更多细节,请告诉我 因为您使用了repeatitems:false数据格式,所以网格的输入数据应该是具有命名属性的项,这些属性的名称与colModel中name属性的值相同。因此,用作格式化程序的formattpdflink函数将以与原始数据相同的简单格式获取第三个参数rowObj
我的自定义格式函数
我曾尝试使用
rowObject.columnName
,但无效
注意:我没有使用loadonce:true
PS:如果需要更多细节,请告诉我 因为您使用了
repeatitems:false
数据格式,所以网格的输入数据应该是具有命名属性的项,这些属性的名称与colModel
中name
属性的值相同。因此,用作格式化程序的formattpdflink
函数将以与原始数据相同的简单格式获取第三个参数rowObject
。例如,可以使用rowObject.pdf\u 1
。要访问另一列,只需使用列的colModel
中使用的name
属性值即可
已更新:如果多次使用同一自定义格式化程序,则需要访问当前列的属性。选项
参数将在这里帮助您
函数formatPdfrink(单元格值、选项、行对象){
返回“”;
}
参数options
包含属性rowId
、colModel
、gid
和pos
自定义格式化程序内部的此
被初始化为网格的DOM,因此您可以使用例如$(this).jqGrid(“getGridParam”,“parameterName”)
或仅this.p.parameterName
来访问jqGrid的其他选项。属性colModel
仅包含当前列的列定义,而不包含完整的colModel
参数
例如,您可以重写上面的代码,从工具提示中的colNames
而不是name
属性设置下一个:
函数formatPdfrink(单元格值、选项、行对象){
//var colNames=$(this.jqGrid(“getGridParam”,“colNames”);
var colNames=this.p.colNames;
返回“”;
}
$grid->setColModel()
不提供任何信息。你也可以用同样的方式发布:“一些代码…”。哪种格式确切地包含您使用的输入数据?您可以使用IE的开发人员工具来跟踪HTTP流量。您应该包括一行输入数据作为示例。您是否使用loadonce:true
选项?您是在列中使用jsonmap
,还是在jqGrid中使用jsonReader
选项?列在colModel
中是如何定义的?您可以在web浏览器中打开源代码以查看执行了哪些代码。@Oleg我已根据您的请求编辑了我的问题。希望您现在可以获得更多有价值的信息。在grid.php中,我没有使用loadonce:true
,我只是有一行关于colmodel的代码:$grid->setColModel()
是的,rowObject.pdf\u 1
有效。实际上,我对4列使用了相同的函数formatPdfLink
。因此,我需要动态获取列名,并在formatPdfLink
函数中使用它:@杰西斯通:问题现在解决了还是你还有问题?你应该给出答案(也看看你以前的问题)来结束这个问题。很抱歉,我不知道如何在formatPdfLink
中获取列名。我不知道列名:我需要在函数中动态地知道它。我正在寻找的是类似于此的东西(我将在自定义格式函数中使用它):var colName=“column name=“+rowObject.columnName代码>。但是rowObject.columnName
不存在。。我想知道正确的语法是什么…@Jesstone:您需要在此处显示哪一列:[在此处显示列名]
?如果使用的是同一列formatPdfLink
,还是另一列?要获得同一列的名称,可以使用选项
参数,这些参数具有属性rowId
、colModel
、gid
和pos
。例如,尝试options.colModel.name
$grid->dataType = 'json';
$grid->setColModel();
function formatPdfLink(cellValue, options, rowObject) {
var cellHtml = "<a href='" + cellValue + "' title='" + [show column Name here] + "' ><img src='../img/PDF_icon.png ' /></a> ";
return cellHtml; }
jQuery(document).ready(function($) {
jQuery('#grid').jqGrid({
"jsonReader": {
"repeatitems": false,
"subgrid": {
"repeatitems": false
}
},
"xmlReader": {
"repeatitems": false,
"subgrid": {
"repeatitems": false
}
},
"colModel": [{ {
"name": "pdf_1",
"index": "pdf_1",
"sorttype": "string",
"label": "C",
"sortable": false,
"width": 25,
"align": "center",
"search": false,
"formatter": formatPdfLink,
"unformat": unformatPdfLink,
"editoptions": {
"size": 100
},
"editable": true
}
}]