我有一个JQgrid,我可以加载到我的Visual Studio 2010.But根据我的要求,我需要将此JQgrid添加到我的Visual Studio 2010 Web项目。将此添加到VS2013我收到以下错误..
$(...).jqGrid is not a function
empty string passed to getElementById
以下是我使用的参考资料..
<link href="css/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" />
<link href="css/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<link href="plugins/ui.multiselect.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="js/jquery-ui-custom.min.js" type="text/javascript"></script>
<script src="plugins/ui.multiselect.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>
请帮我解决这个问题..
这就是HTML ..
<div class="panel-body">
<table id="UsersGrid" cellpadding="0" cellspacing="0">
</table>
<div id="UsersGridPager">
</div>
</div>
这是完整的脚本..
script type="text/javascript">
var i = 1;
$(document).ready(function () {
{
var i=1;
$('#Button1').click(function (evt) {
evt.preventDefault();
if (i == 1) { getdata(); }
else {
jQuery("#UsersGrid").jqGrid('GridUnload');
getdata();
}
i++;
});
}
});
function getdata() {
$("#UsersGrid").jqGrid({
url: 'fetchdata.ashx',
datatype: 'json',
mtype:'GET',
height: 250,
colNames: ['AccountNumber', 'BillNumber', 'BillDate'],
colModel: [
{ name: 'AccountNumber', index: 'AccountNumber', width: 100, sortable: true, align: 'center', hidden: true },
{ name: 'BillNumber', width: 100, sortable: true, align: 'center' },
{ name: 'BillDate', width: 100, sortable: true, align: 'center' },
],
rowNum: 100,
rowList: [100, 200, 300],
pager: '#UsersGridPager',
sortname: 'AccountNumber',
viewrecords: true,
ignoreCase: true,
sortorder: 'asc',
autowidth: true,
toppager: true,
height: '100%'
});
$("#UsersGrid").jqGrid('navGrid', '#UsersGridPager', { edit: false, add: false, del: false, search: false });
};
</script>
答案 0 :(得分:1)
.JqGrid
肯定是错误的。您应该使用.jqGrid
代替。 JavaScript区分大小写。
更新:您的代码包含具有名称为height
的两个属性的对象:height: 250
和height:"100%"
。这是你的错误。您应该删除height: 250
以修复错误。
此外,您应在代码中添加gridview: true
。在创建网格之前,您还可以使用$("#UsersGrid").jqGrid("GridUnload");
。所有方法的代码都测试grid
属性(参见the line代码),如果''尚未转换为网格,则调用无效。因此,您可以从代码中删除所有奇怪的i
变量,删除不需要的全局函数getdata
,然后在getdata
内移动$('#Button1').click
函数的正文事件处理程序。
还有一条话:您应该在,
之前删除逗号(]
),并减少colModel
的定义
colModel: [
{ name: 'AccountNumber', index: 'AccountNumber', width: 100, sortable: true, align: 'center', hidden: true },
{ name: 'BillNumber', width: 100, sortable: true, align: 'center' },
{ name: 'BillDate', width: 100, sortable: true, align: 'center' },
]
以下
colModel: [
{ name: 'AccountNumber', hidden: true },
{ name: 'BillNumber' },
{ name: 'BillDate' }
],
cmTemplate: {width: 100, align: 'center'}
顺便说一下,如果您想将AccountNumber
用作rowid,那么您应该在列定义中添加key: true
。