在jqgrid中添加自定义按钮和动作格式化程序

时间:2012-07-06 12:15:32

标签: jquery asp.net-mvc jqgrid

我有像这样的jqgrid

colNames: ['Name','Actions'],

 colModel: [

        { name: 'name', index: 'name', align: 'right', editable: true},
{ name: 'act', index: 'act', width: 75, align: 'center', sortable: false, formatter: 'actions',formatoptions: {keys: true,delbutton:false}}
],

现在我想添加一个自定义按钮以及动作格式化程序的编辑按钮。

我试过这个,似乎没有工作,任何猜测为什么?

gridComplete: function(){
    var ids = $("#grid").jqGrid('getDataIDs');
    for(var i=0;i < ids.length;i++){
        var cl = ids[i];
        alert(cl);
        be = "<input style='height:22px;' type='button' value='Edit' onclick=\"window.location.href='editItem.asp?ID="+cl+"'\"  />";

        $("#grid").jqGrid('setRowData',ids[i],{act:be});
    }   
},

2 个答案:

答案 0 :(得分:2)

如果我理解了您的要求,您会在thisthis旧答案中找到问题的答案。

答案 1 :(得分:1)

这是自定义格式化程序的一个示例(假设您使用项目ID设置“操作”col的值):

<script>
    var myCustomFormatter = function(cellVal,options,rowObject) {
        return "<input style='height:22px;' type='button' value='Edit' onclick=\"window.location.href='editItem.asp?ID="+cellVal+"'\"  />";  
    };

    $("#yourTableID").jqGrid({
        ....
        colNames: [....,'Actions'],
        colModel: [
            ....
            { name: 'act', index: 'act', width: 75, align: 'center', sortable: false, formatter:myCustomFormatter}
        ],
        ....
    });

</script>

阅读有关自定义格式化程序的jqGrid documentation