2012-01-10 13 views
0

昨日私はjq-gridを使い始めました。これまでのやり方はやや曖昧です。JQgrid - inlineNavに戻ります

function setUpStudentEntryGrid(numberofstuds){ 
     $("#studentset").jqGrid({ 
      url:"<c:url value='/registrationcarts/constructjson/'/>"+numberofstuds, 
      datatype: "json", 
      colNames:['id','First Name', 'Last Name'], 
      colModel:[ 
         {name:'id',index:'id', width:60}, 
         {name:'firstName',index:'fName', width:300, editable:true}, 
         {name:'lastName',index:'lastName', width:300, editable:true} 
        ],     
      rowNum:10, 
      rowList:[10,20,30], 
      pager: '#pager', 
      sortname: 'id', 
      viewrecords: true, 
      sortorder: "desc", 
      editurl: "<c:url value='/students/addnew'/>", 
      caption: "Using navigator" 
     }); 
     $('#studentset').jqGrid('navGrid',"#pager",{edit:false,add:false,save:false,del:false,search:false}); 
     $('#studentset').jqGrid('inlineNav',"#pager"); 
    } 

私はインライン編集が動作し、データをデータベースに起こっているが...以下を参照してください。私の行動は単に「学生が保存しました」という文字列を返します。火災のバグで私はレスポンスで私の戻り文字列を取得しているので、私の動作は動作しています。私は文字列を変更した後に$('#studentset').jqGrid('setRowData',Newly_created_ID,{firstName:"name", lastName:"name"});を使用する予定です。

上記のようにinlineNavを使用して手動で行IDにアクセスして更新するにはどうすればよいですか?

私はストローでgrsapingです、話すように、私はこれを設定する方法についてはあまりよく分かりません。誰か助言してもらえますか?

ありがとうございます。

+0

'editurl:" "**} **'}); ' –

+0

中かっこ2つが必要です:1 )onSelectRow関数を閉じます。 2) 'jqGrid'オプションオブジェクトを閉じます。ここで適切な字下げが行われています:http://jsfiddle.net/jtBqy/ –

+0

'inlineNav'の使用に問題がありますか?新しい行を追加する場合のみです(既存の行の編集に問題はありません)?あなたのケースでは 'Newly_created_ID'とは何ですか? (データベースから生成された)サーバーから新しいIDを返し、グリッドで使用しますか? – Oleg

答えて

0

私がする必要があったのはdata.tosourceを呼び出すことだけでした。データオブジェクトに含まれているすべてを見ることができました。私が関心を持ったのはレスポンステキストなので、

  onSelectRow: function(id){ 
       if((id != null)&&(id!==lastsel)){ 
        $('#studentset').jqGrid('restoreRow',lastsel); 
        $('#studentset').jqGrid('editRow',id,true,'',function(data){ 
         alert(data.responseText); 

        });       
        lastsel=id; 
       } 
      } 

希望があれば助けてください!

関連する問題