jqgrid向行添加其他属性

时间:2011-08-19 08:51:46

标签: javascript jquery jqgrid contextmenu

我想对我的网格使用contextmenu,但我有一个特殊情况,根据一个[或可能更多]其字段值的每一行,我想显示或隐藏一些contextmenu项目。

我知道在绑定contextmenu时可以得到右键单击的行甚至是rowId,并按照这样的方式显示\ hide项目:

jQuery(".jqgrow", "#ContextMenuGrid").contextMenu('myMenu1', {
        bindings: {
            'edit': function(t) {
                editRow();
            },
            'add': function(t) {
                addRow();   
            },
            'del': function(t) {
                delRow();
            }
        },
        onContextMenu : function(event, menu)
                        {
                        var rowId = $(event.target).parent("tr").attr("id")
                        var grid = $("#ContextMenuGrid");
                        grid.setSelection(rowId);                                    

                        return true;                                    

                        }
    });             
}

现在我想如果有办法在jqgrid行中添加额外的属性,比如“id”,可以在这样的情况下检索,以便做出决定!

{
"page":1,
"total":83,
"records":830,
"rows":[{"data-custom-data":"data","id":"11067","cell":[...]}]
}

我喜欢上面的代码或......

1 个答案:

答案 0 :(得分:0)

您没有包含您使用的jqGrid的定义,我不知道您使用的jsonReader。所以我不知道你在哪里保存行的"data-custom-data":"data"。无论如何,我认为您可以在rowid上获取已保存的数据库。

来自t的所有操作('add','edit','del')的bindings参数(触发器)具有id属性。所以你的代码可以是

...
bindings: {
    'edit': function(t) {
        editRow(t.id);
    },
....