gpt4 book ai didi

javascript - jqgrid rowobject 值未定义

转载 作者:行者123 更新时间:2023-11-30 10:14:58 25 4
gpt4 key购买 nike

我使用以下代码绑定(bind) jqgrid 中的值。

我创建了一个链接按钮来访问特定的操作方法。

我需要将第一列值传递给操作方法。

但是,如果我使用以下 href='@Url.Action("ViewApplicants", "HR")?JobsID="+rowObject[0]+"'。它显示未定义值。如何解决这个问题?

 <div>
<table id="Jobtable"></table>
<div id="jQGridPager"></div>
<div id="dialog" title="View Job Detail"></div>
</div>

<script type="text/javascript">
$(document).ready(function () {
$("#Jobtable").jqGrid({
url: '/HR/PassJsonJob/',
datatype: "json",
mtype: 'GET',
colNames: ['Job ID', 'Job Title', 'Job Experience', 'Job Location', 'ViewApplicants'],
colModel: [
{ name: 'JobsID', index: 'JobsID', width: 150, align: 'left', editable: true },
{ name: 'JobTitle', index: 'JobTitle', width: 150, align: 'left', editable: true },
{ name: 'JobExperience', index: 'JobExperience', width: 150, align: 'left', editable: true },
{ name: 'JobLocation', index: 'JobLocation', width: 150, align: 'left', editable: true },
{
name: 'ViewApplicants', index: 'ViewApplicants', width: 150, sortable: false,
formatter: function (cellvalue, options, rowObject) {
alert(rowObject)
return "<a href='@Url.Action("ViewApplicants", "HR")?JobsID="+rowObject[0]+"'>View Applicants</a>";
}
}
],
rowNum: 10,
rowList: [10, 20, 30],
viewrecords: true,
loadonce: true,
gridview: true,
pager: "#jQGridPager",
cellEdit: false,
rowNumbers: true,
width: 1000,
caption: 'Applied Jobs',
viewrecords: true
})
$('#Jobtable').jqGrid('navGrid', '#jQGridPager',
{
edit: true,
add: false,
del: false,
view: false,
search: false
});
});


</script>

最佳答案

从 URL /HR/PassJsonJob/ 中了解服务器响应的格式很重要. rowObject的格式对应于服务器响应的项目​​格式。所以可能是rowObject.JobsID而不是 rowObject[0]访问 JobsID 的正确方法属性(property)。因为你用 loadonce: true rowObject 的格式可能是 rowObject[0] 在第一次加载时。之后比如在本地分页或者数据排序时,格式为rowObject将反对 JobsID属性(property),所以rowObject.JobsID将是正确的。

所以 rowObject.JobsID 的用法或 rowObject[0] || rowObject.JobsID可以解决您的问题。

另一种选择是使用属性 key: trueJobsID 的定义中colModel 中的列.只有在 JobsID 时才能使用该属性每行都包含唯一值。在这种情况下,jqGrid 将使用来自 JobsID 的值。 column as rowid:id 的值分配给网格的行(<tr> 元素)的属性。在这种情况下可以使用 options.rowId访问 JobsID值(value)。

更新:free jqGrid 中还有一个选项fork,我从 2014 年底开始开发。自定义格式化程序的二维参数 ( options ) 具有属性 rowData ,其中包含与 rowObject 相同的信息, 但它始终具有对象格式。因此使用 options.rowData.JobsID 是安全的而不是 rowObject[0] || rowObject.JobsID .根本不需要使用自定义格式化程序的 3-d 参数。免费的 jqGrid 没有改变 3-d 参数的格式,以最好地向上兼容以前版本的 jqGrid。

关于javascript - jqgrid rowobject 值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24384959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com