gpt4 book ai didi

jquery - jqGrid "addRowData"到 "first"不起作用

转载 作者:行者123 更新时间:2023-12-01 00:59:02 24 4
gpt4 key购买 nike

我无法使用以下行将行添加到 jqGrid 表的顶部:

jQuery("#myTable").jqGrid('addRowData', 0, myData, "first");

它只是像往常一样添加到列表底部

有人尝试过这个并为他们工作吗?

在我的表中,之前添加的行的索引从 0 到 N

我正在使用 jqGrid v3.8.1 和 jQuery 1.4.3

<html>

<head>
<link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.8.5.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />

<script src="js/jquery-1.4.3.js" type="text/javascript"></script>
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.5.custom.min.js" type="text/javascript"></script>
</head>

<script type="text/javascript">
$(document).ready(function () {


jQuery("#myTable").jqGrid({
datatype: "local",
colNames: ['Data ID', 'Device'],
colModel: [{
name: 'DATA_ID',
index: 'DATA_ID',
sorttype: "int",
width: 22,
align: "center",
sortable: false
},
{
name: 'DATA_DN',
index: 'DATA_DN',
width: 60,
align: "center",
sortable: false
},
],
width: "1216",

});

var myData = [{
"DATA_ID": "9",
"DATA_DN": "sony"
}, {
"DATA_ID": "10",
"DATA_DN": "panasonic"
}];
var newData = [{
"DATA_ID": "0",
"DATA_DN": "national"
}, {
"DATA_ID": "1",
"DATA_DN": "samsung"
}];

for (var i = 0; i < myData.length; i++) {
jQuery("#myTable").jqGrid('addRowData', i, myData[i]);
}

jQuery("#myTable").addRowData(0, newData, "first");

//jQuery("#myTable").trigger("reloadGrid");

});
</script>
</head>

<body>
<table id="myTable"></table>
<div id="myTable_pager"></div>
</body>

</html>

最佳答案

遗憾的是您没有发布您使用的完整 JavaScript 代码。所以我只能猜测会发生什么。

例如,如果您定义 myData作为数组 ( [...] ) 而不是对象 ( {...} ),位置参数将被值“last”覆盖。

jqGrid 是一个开源项目,您可以检查addRowData 到底做了什么。功能here 。您可以准确地看到在什么情况下将使用位置参数“last”。

如果您将问题附加到可用于重现您描述的问题的代码,其他人可以验证代码并在 jqGrid 中找到错误或在代码中找到错误。在这两种情况下,您都有很好的机会成为赢家。

已更新您发布的代码有一些小问题。

首先,您应该删除 colModel 中“]”之前的逗号定义。
第二个newData是一个数组,因此最后一个参数将从“first”替换为“last”。
其他一些小但重要的问题是:你必须使用 <!DOCTYPE html ...>在 HTML 代码的开头,将 JavaScript 代码放在 //<![CDATA[ 内... //]]>并插入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />在 HTML header 中。

固定代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demonstration how programatically select grid row which are not on the first page</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/redmond/jquery-ui.css" />
<link rel="stylesheet" type="text/css" href="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-3.8.1/css/ui.jqgrid.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript" src="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-3.8.1/js/i18n/grid.locale-en.js"></script>
<script type="text/javascript" src="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-3.8.1/js/jquery.jqGrid.min.js"></script>
<script type="text/javascript">
//<![CDATA[
jQuery(document).ready(function () {
var grid = jQuery("#myTable");
grid.jqGrid({
datatype: "local",
colNames:['Data ID','Device'],
colModel:[
{name:'DATA_ID',index:'DATA_ID', sorttype:"int", width:22, align:"center", sortable:false},
{name:'DATA_DN',index:'DATA_DN', width:60, align:"center", sortable:false},
],
width: "1216"
});

var myData = [{"DATA_ID":"9", "DATA_DN": "sony"}, {"DATA_ID":"10", "DATA_DN": "panasonic"}];
var newData = [{"DATA_ID":"0", "DATA_DN": "national"}, {"DATA_ID":"1", "DATA_DN": "samsung"}];

for(var i=0;i<myData.length;i++) {
grid.jqGrid('addRowData', i, myData[i]);
}

for (i=0;i<newData.length;i++) {
grid.jqGrid('addRowData', myData.length+i, newData[newData.length-i-1], "first");
}
//grid.trigger("reloadGrid");
});
//]]>
</script>
</head>
<body>
<table id="myTable"><tr><td/></tr></table>
</body>
</html>

另见直播 here 。如何通过 W3 Validator 进行验证HTML 代码的最新版本是 correct .

尽管如此,建议使用额外的隐藏列来进行排序。

关于jquery - jqGrid "addRowData"到 "first"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4278321/

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