我需要使用 ajax 更新网格中更改的行

Posted

技术标签:

【中文标题】我需要使用 ajax 更新网格中更改的行【英文标题】:I need to update the changed row in the grid using ajax 【发布时间】:2019-01-02 06:04:24 【问题描述】:

我是 jqGrid 的新手,我真的需要帮助。

点击“提交”后,我想更新行而不使用 Ajax 重新加载页面。告诉我需要写什么。

我的代码

我可以通过更新页面来更新数据,但我需要它而不需要更新

查看


    //edit
    url: '@Url.Action("Edit", "TableDocument")',
    closeAfterEdit: true,
    height: 250,
    width: 400,
    afterSubmit: function(responce) 
        $("#jqg").jqGrid('setGridParam',  datatype: 'json' ).trigger('reloadGrid');
        return [true, responce.responseText];
    
,

控制器

    private static bool tuggel = false;
    private DataContext db = new DataContext();
    private Testing testing = new Testing();

    public TableDocumentController()
    
        if (!tuggel)
        
            testing.DataList();
            tuggel = true;
        
    

    public ActionResult Test()
    
        return View();
    

    public string GetData()
    
        return JsonConvert.SerializeObject(db.DataBases);
    


    [HttpPost]
    public void Edit(DataBase data)
    
        try
        
            db.Entry(data).State = EntityState.Modified;
            db.SaveChanges();
        
        catch (Exception e)
        
            Console.WriteLine(e);
            throw;
        
    

【问题讨论】:

您必须在更新事件中使用 ajax 调用重新加载列表网格。 @bindi.raval 它是如何制作的? 使用这些步骤,它将解决您的问题。c-sharpcorner.com/article/… @bindi.raval 非常感谢,行动了。 【参考方案1】:

你应该使用 reloadAfterSubmit option 设置为 false


    //edit
    url: '@Url.Action("Edit", "TableDocument")',
    closeAfterEdit: true,
    reloadAfterSubmit : false,
    height: 250,
    width: 400,
    afterSubmit: function(responce) 
        $("#jqg").jqGrid('setGridParam',  datatype: 'json' ).trigger('reloadGrid');
        return [true, responce.responseText];
    
,

【讨论】:

以上是关于我需要使用 ajax 更新网格中更改的行的主要内容,如果未能解决你的问题,请参考以下文章

如何根据严重性更改数据网格中的行颜色?

如何在反应中更新按钮单击ag网格中的行

SQL 在 VB.NET 中更新数据库,遇到问题

如何自动更新剑道网格?

如何告诉 ExtJS Grid 编辑过的数据已经同步?

如何将更新的数据从网格传递到控制器