Ошибка "Не задан URL" при редактировании строки в jqgrid - PullRequest
1 голос
/ 04 августа 2011

Я нашел диалог с текстом «URL не задан» при редактировании строки в jqgrid. После нажатия Enter я нашел диалог с текстом "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 ]

1 голос
/ 05 сентября 2012

editRow() имеет только два параметра, я не уверен, что ваш код работает

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

editRow(rowid, keys) - принять два параметра:

  1. rowid - уникальный идентификатор строки
  2. keys - который при значении true мы можем использовать клавиши Enter и Escape для сохранения и отмены редактирования
1 голос
/ 09 августа 2011

Сколько сеток на странице? В размещенном вами коде вы определяете jqGrid "#id_grid" с помощью пейджера "#id_grid". С другой стороны внутри onClickButton navButtonAdd и внутри onSelectRow используется встроенное редактирование другой сетки : "#TransaksiDisbursed".

Вы определили параметр editurl (например, editurl: 'clientArray') для второй ("#TransaksiDisbursed") сетки или существующий "#TransaksiDisbursed" в вашем коде просто ошибка вырезать и вставить?

...