如何在jqgrid中编辑或添加行后将数据保存到DB

时间:2014-04-01 07:21:27

标签: jquery jqgrid

我一直在尝试关注http://www.trirand.com/blog/jqgrid/jqgrid.html,Row Edidting和实时数据操作的演示。我能够编辑行,暂时将它们保存在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");
        }
    });         
}); 

注意: - 我在jQuery中使用editUrl:“/ somejsp.html”(“#grid”)。jqGrid({...})一段代码并对应于此我在Spring MVC Controller中准备了一个控制器类。

我见过很多人将数据保存回数据库的帖子。但我的问题是,几乎每个帖子都使用PHP。我不在PHP工作。可以告诉我如何暂时在网格中添加行,最后按一个按钮,将所有新添加或编辑的行一次保存回DB。

但首先添加新行时我做错了什么?

如果您需要任何其他信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

很抱歉回答问题,但为什么不想使用PHP?

此外,相对于index.php找到了someurl.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')");

瞧,你已经完成了!