Javascript JqGrid在按下按钮时给出ID
我无法在JqGrid中选择任何行,因此遇到了错误。这说明我每行都需要一个ID。每次按下按钮时,我都会将数据添加到网格中。我试着用一个简单的点击计数器函数给每一行一个id。但当我尝试从网格中对所有ID的不相似项进行排序时,我会 有什么建议可以解决这个问题吗 网格Javascript JqGrid在按下按钮时给出ID,javascript,jquery,asp.net,jqgrid,Javascript,Jquery,Asp.net,Jqgrid,我无法在JqGrid中选择任何行,因此遇到了错误。这说明我每行都需要一个ID。每次按下按钮时,我都会将数据添加到网格中。我试着用一个简单的点击计数器函数给每一行一个id。但当我尝试从网格中对所有ID的不相似项进行排序时,我会 有什么建议可以解决这个问题吗 网格 $(document).ready(function () { // Configuration for jqGrid Example 1 $("#table_list_1").jqGrid({ data
$(document).ready(function () {
// Configuration for jqGrid Example 1
$("#table_list_1").jqGrid({
data: currentTime,
datatype: "local", //if enabled id dissapear
height: "100%",
autowidth: true,
shrinkToFit: true,
loadonce: true,
sortable: true,
rowNum: 100,
rownumbers: true,
rowList: [10, 20, 30],
colNames: ['Id','Time', 'Note'], // 'Id'
colModel: [
{name: 'id', index:'id', width:60, sorttype: 'number', sortable: true},
{ name: 'time', index: 'time', width: 60, sorttype: 'number', sortable: true, editable: true, formatter: "number" },
{ name: 'note', index: 'note', width: 60, cellEdit: true, editable: true }
],
pager: "#pager_list_1",
viewrecords: true,
caption: "Example jqGrid 1",
add: true,
edit: true,
addtext: 'Add',
edittext: 'Edit',
hidegrid: false
});
$('#table_list_1').navGrid('#pager_list_1',
{ edit: false, add: false, del: false, search: true, refresh: true, view: false, position: "left", cloneToTop: true },
{ reloadAfterSubmit: true });
$('#table_list_1').navButtonAdd('#pager_list_1',
{
buttonicon: "ui-icon-pencil",
title: "Edit",
caption: "",
position: "last",
});
如何添加数据
var currentTime = [];
var id = 0;
function doKeyDown(e) {
//test document.getElementById("currentTimeText").innerHTML = currentTime;
if (e.keyCode == 49 & wavesurfer.isPlaying()) {
// KEY = " 1 "
id += 1;
currentTime.push(wavesurfer.getCurrentTime());
jQuery("#table_list_1").addRowData("", { id: id, time: wavesurfer.getCurrentTime() });
//test document.getElementById("currentTimeText").innerHTML = currentTime;
wavesurfer.addRegion({
start: wavesurfer.getCurrentTime(),
end: wavesurfer.getCurrentTime() + 0.1,
color: '#19aa8d',
resize: false,
drag: false,
});
}
}
rowid不是
id
属性中的值,而是与相同的“
值一起使用的第一个参数。我认为这是你代码中的主要错误。电话
jQuery("#table_list_1").addRowData("", { id: id, time: wavesurfer.getCurrentTime() });
应至少固定到
jQuery("#table_list_1").addRowData(undefined, { id: id, time: wavesurfer.getCurrentTime() });
这样解决:
jQuery("#table_list_1").addRowData(id, { id: id, time: wavesurfer.getCurrentTime() });
所以我给它的不是“未定义”而是“id”
这也解决了我的选择问题。请在每个问题中写下有关您使用的jqGrid版本的信息,以及版本4.6中的fork(、商业版或旧jqGrid。doKeyDown在用户每次按“1”键时添加一行数据。在这种情况下,它从播放歌曲和添加“id”中获得时间每次按下按钮时。对不起,我不理解代码的含义。无论如何,如果希望jqGrid为您生成唯一的id,最好为
id
使用undefined
值。为什么要向用户显示如此奇怪的id(请参阅id
列)?此外,rowid不是id
属性中的值,而是与相同的“
值一起使用的第一个参数。我认为这是代码中的主要错误。navbuttonad
的调用看起来也很奇怪。在方法中总是使用onClickButton
回调。我只想让它计算每一行。“RowNumber:true”基本上完成了我想要的工作,但我希望能够对其进行排序。这就是为什么我尝试实现我自己的“RowNumber”我希望它能消除很多困惑。至少id不再消失,但现在它用jqg1和“2”替换了“1”"使用jqg2等。如果我能得到1、2、3、4、5等,我都很好。@Dolle:我让你描述一下你想用网格做什么。如果id
列应该是插入行的顺序,那就可以了。我仍然不明白jqg1
为什么对你不好?如果你想使用其他参数或在第页上有两个网格en值将更高。用户将看不到id。为什么要更改它?例如,HTML4规范不允许使用以数字开头的id值,但所有web浏览器在使用数字id等id时都不会出现问题。因此jqGrid会按默认文本前缀+数字生成id。默认前缀为jqg
@Do一个人可以改变前缀,一个人可以改变很多其他的东西,但是为什么呢?