2014-04-01 67 views
2

我一直在試圖遵循http://www.trirand.com/blog/jqgrid/jqgrid.html,行編輯和實時數據操作的演示。我可以編輯行,將它們暫時保存在jqgrid中,並可以通過彈出窗口添加新行。如何在jqgrid中編輯或添加行後將數據保存到數據庫

我正在用json對象填充我的jqgrid。

1)雖然這樣做行編輯,使用下面的代碼

onSelectRow: function(rowid, status) {     
    if(rowid && rowid!==lastsel){ 
     if (lastsel != null && !myRowIsValid(lastsel)) { 
      return; 
     }        
     jQuery("#grid").saveRow(lastsel,true,'clientArray'); 
     jQuery('#grid').jqGrid('editRow',rowid,true); 
     lastsel=rowid; 
    } 

},

按Enter鍵或選擇一些其他行後,我可以看到我選擇的最後一行是抱着我有什麼進入。但如何將所有edidted數據保存回DB?

2)通過使用下面的代碼將新行添加到jqgrid中,我可以在彈出窗口中看到我的所有列。但是當我按提交時,填充數據後,我得到'錯誤狀態'找不到'。錯誤代碼404'在窗口頂部。

jQuery("#bedata").click(function(){ 
    jQuery("#grid").jqGrid('editGridRow',"new",{ 
     height:420,    
     reloadAfterSubmit:false,     
     closeAfterAdd:false, 
     errorTextFormat:"Something Went Wrong", 
     afterSubmit : function(response,postdata){ 
      alert("hi"); 
     } 
    });   
}); 

注: - 我有editUrl: 「/ somejsp.html」 jQuery中( 「#電網」)的jqGrid({...})的代碼和對應於該我有一個控制器準備英寸我的Spring MVC控制器類。

我看過很多帖子,其中有人將數據保存回數據庫。但我的問題是,他們幾乎在每篇文章中都使用PHP。我不在PHP中工作。請問任何人都可以告訴我如何在網格中暫時添加行,並最終按下一個按鈕,並將所有新添加或編輯的行一次性保存回數據庫。

但是,首先我在添加新行時做錯了什麼?

請讓我知道,如果你想要任何其他信息。

+0

我想你沒有'editurl:「url」'應用在那個jqgrid中。 – Jai

+0

@Jai,新增信息。我早先忘記了。 – Jaikrat

+0

你在editurl中有什麼? – Jai

回答

0

對於回答問題感到抱歉,但您爲什麼不想使用PHP?

此外,someurl.php是相對於你的index.php找到的。由於我使用的是CodeIgniter(MVP),因此可以在我的Controllers文件夾中找到它。試着這樣寫的:

editurl: someurl, 

我不知道爲什麼,但是寫它作爲

editurl:someurl.php, 

不起作用。

最後,我的someurl.php包含將數據保存到我的數據庫所需的sql查詢。

E.g.

$this->db->query("INSERT INTO tblclient (clientCode, clientName) VALUES ('$Code', '$Name')"); 

瞧,你完成了!

+0

Altus,謝謝你的回覆,但我已經解決了這個問題:) – Jaikrat

+0

很高興知道!我的答案適用於其他可能與你有同樣問題的人。所以upvote或什麼哈哈。再次感謝你! – Altus

相關問題