在jqgrid中右键单击问题打开上下文菜单

时间:2014-09-04 09:26:27

标签: jquery jqgrid

我遇到的问题是,当我第一次右键单击网格中的单元格时,不会出现上下文菜单。第二次我右键单击,然后上下文菜单打开我尝试了替代但没有帮助我。

以下是我的代码:

$("#list").jqGrid({
        url : '../xyzServlet',
        autowidth : true,
        altRows : true,
        datatype : 'json',
        mtype : 'POST',
        scrollOffset : 0,
        loadui : 'disable',
        jsonReader : {
            root : "root",
            cell : ""
        },
        colNames : [ 'Name', 'password', 'UserId', 'Username', 'Email ID', 'Home Folder', 'Status'],
        colModel : [ {
            name : 'Name',
            index : 'Name',
            align : 'left',
            hidden : true
        }, {
            name : 'password',
            index : 'password',
            align : 'left',
            hidden : true
        }, {
            name : 'UserId',
            index : 'UserId',
            align : 'left',
            hidden : true
        }, {
            name : 'User Name',
            index : 'User Name',
            align : 'left'
        }, {
            name : 'EmailId',
            index : 'EmailId',
            align : 'left'
        }, {
            name : 'Home Folder',
            index : 'Home Folder',
            align : 'left'
        }, {
            name : 'UserStatus',
            index : 'UserStatus',
            align : 'left'
        }],
        onRightClickRow: function(rowid, rowdata, rowelem) {

            $('#' + rowid).contextMenu('MenuJqGrid', eventsMenu);
    },
        pager : '#pager',
        rowNum : 20,
        rowList : [ 15, 20, 50 ],
        viewrecords : true,
        gridview : true,
        multiselect : false,
        rownumbers : true,
        loadonce : true,

    })

 var eventsMenu = {
                bindings: {
                    'CreateUser': function(t) {
                            update = false;
                            formdata = null;
                            $('#UForm')[0].reset();
                            $("#EUserForm").dialog("open");
                            $('#EUserForm').dialog('option', 'title', 'Create User');
                            $("#mssg").html("Fill up the below details.");
                            $("#mssg").css('color', 'blue');
                            $(".error").css("display", "none");
                            $('#EditUserName,#EditUserUserName').attr('readonly', false);
                            $('input[name=loginDisabled]').attr("disabled", false);



                    },

                }
            };

1 个答案:

答案 0 :(得分:1)

您必须使用父div的id,而不是使用

$('#' + rowid).contextMenu('MenuJqGrid', eventsMenu);

例如使用类似于:

$('#center').contextMenu('MenuJqGrid', eventsMenu);