【发布时间】:2016-04-28 11:50:57
【问题描述】:
我无法在我的 JqGrid 中选择任何行,所以我遇到了http://www.jqgrid.com/jqgrid/forum/codemerx-jqgrid-for-asp-net/146-can-t-select-rows。这说我需要为每一行提供一个 ID。每次按下按钮时,我都会将数据添加到网格中。我尝试使用简单的点击计数器功能为每一行提供一个 id。但是当我尝试从网格中对所有 ID 进行排序时,我会消失。
有什么建议可以解决这个问题吗?
网格
$(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,
});
}
}
【问题讨论】:
-
请在每个问题中写下您使用的 jqGrid 版本和分叉(free jqGrid、商业Guriddo jqGrid JS 或版本 doKeyDown 的代码不清楚。你在哪里使用它?你写了一些按钮,但不清楚哪个关系有按钮的网格。您使用了
data: currentTime,但没有包含任何测试数据。 -
它的版本 4.6。每次用户按下“1”键时,doKeyDown 都会添加一行数据。在这种情况下,它会从歌曲播放中获取时间,并为每次按下按钮添加一个“id”。
-
对不起,我不明白代码的意义。无论如何,如果您希望 jqGrid 为您生成唯一 ID,最好使用
undefined值作为id。为什么要向用户显示如此奇怪的 id(参见id专栏)?此外,rowid 不是来自id属性的值,而是您使用相同""值的第一个参数。我认为这是您代码中的主要错误。 -
navButtonAdd的调用看起来也很奇怪。在方法中使用总是onClickButton回调。 -
我只希望它计算每一行。 “rownumbers: true”基本上是在做我想要的工作,但我希望能够对其进行排序。这就是我尝试实现自己的“行号”的原因,希望它能消除很多困惑。
标签: javascript jquery asp.net jqgrid