在jqgrid中的行编辑时出现错误“没有设置url”

时间:2011-08-04 09:14:22

标签: jquery jqgrid dialog

在jqgrid上编辑行时,我找到了带有文本“没有设置url”的对话框。按回车后,我发现文本对话框“没有设置网址”。 有谁可以帮我解决这个问题?

这是我的jqgrid代码

function callIdGrid() {
    var lastSel;
    jQuery("#id_grid").jqGrid({
        height:200,
        width:655,
        colNames:['Name','Address','Amount'],
        colModel:[{
            name:'acctId',
            index:'acctId',
            width:150,
            editable:true
        },{
            name:'address',
            index:'address',
            width:150,
            editable:true
            }
        },{
            name:'amount',
            index:'amount',
            formatter:'currency',
            width:150,
            editable:true
        }],
        pager: '#id_pager',
        sortname: 'acctId',
        viewrecords: true,
        sortorder: "desc",
        caption:"Accounts",
        cellEdit: true,
        editurl:"noabjad.json",
        onSelectRow: function(acctId){
        if(acctId && acctId!==lastSel){
        jQuery('#id_grid').jqGrid('restoreRow',lastSel);
        jQuery('#id_grid').jqGrid('editRow',acctId,true,onSaveSuccess);
        lastSel=acctId;
        }
        }
        editurl: 'clientArray'
    }) ;
    jQuery("#id_grid").jqGrid('navGrid','#id_pager',{
        add:true,
        del:false,
        search:false,
        edit:true
    },{
        reloadAfterSubmit:false
    },{
        reloadAfterSubmit:false
    }).navButtonAdd("#id_pager",{
        caption:"",
        buttonicon:"",
        onClickButton:function(){
        var datarow = {acctId: "", address: "", amount: ""};
        var su=jQuery("#id_grid").addRowData("X",datarow,"first");
        if(su) { jQuery("#id_grid").setSelection('X') }
    }

    });
    function onSaveSuccess(xhr){
        response = xhr.responseText;
        if(response == 1) return true; return false;
    }
}

2 个答案:

答案 0 :(得分:1)

页面上有多少个网格?在您发布的代码中,您使用寻呼机“#id_grid”定义了jqGrid "#id_grid"。在onClickButton的{​​{1}}内部和navButtonAdd内部的另一侧,您使用另一个网格的内联编辑onSelectRow

您是否为第二个("#TransaksiDisbursed")网格定义了editurl参数(例如editurl: 'clientArray'),或者您的代码中的现有"#TransaksiDisbursed"只是剪切和粘贴错误?

答案 1 :(得分:1)

editRow()只有两个参数,我不确定你的代码是否有效

jQuery('#id_grid').jqGrid('editRow',acctId,true,onSaveSuccess);

editRow(rowid, keys) - 接受两个参数:

  1. rowid - 行的唯一ID
  2. keys - 如果为true,我们可以使用Enter和Escape键来保存和取消编辑