按下按钮时JqGrid会给出ID

JqGrid give ID when button pressed

本文关键字:ID JqGrid 按钮      更新时间:2023-09-26

我无法在JqGrid中选择任何行,所以我遇到了http://www.jqgrid.com/jqgrid/forum/codemerx-jqgrid-for-asp-net/146-can-t-select-rows.上面写着我每排都需要一个身份证。每次按下按钮时,我都会将数据添加到网格中。我试着用一个简单的点击计数器函数给每一行一个id。但当我试图从网格中对所有ID的dissapear进行排序时。

有什么建议我该怎么解决吗?

网格

$(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"这也解决了我的选择问题。