【问题标题】:ASP.NET GridView set with DataSet, can't edit rows使用 DataSet 设置的 ASP.NET GridView,无法编辑行
【发布时间】:2016-03-21 19:43:25
【问题描述】:

我遇到以下问题:

我有一个搜索功能,它使用 SqlDataAdapter 在我的数据库上运行查询。 然后我使用:

DataSet ds = new DataSet();
dataAdapter.Fill(ds, "table title");
gridView1.DataSource = ds;
gridView1.DataBind();

我最初得到一个错误,然后我有一个 dataSource 和 dataSourceId,所以我清除了以前使用的 ID。该代码有效,我可以搜索表,我的查询将返回行并更新表。问题是我希望它返回的数据是可编辑的。我的网格视图是可编辑的,在运行查询之前,我可以编辑表格的行。但是在搜索运行后,gridView 填充了我的数据集,我无法更新行。如果我单击编辑按钮,它会给我一个错误,指出未处理 RowEditing 事件。

我调查了该事件,并了解发生了什么,如果我要为 RowEditing/RowUpdating/RowUpdated 等事件编程。我可以让它工作,但没有更好的方法吗?有没有更简单的方法可以在 C# 中设置我的数据源并能够保持行的可编辑性?

非常感谢!

【问题讨论】:

  • 请出示您的“搜索”代码,最好将所有可能的信息提供给我们。

标签: c# asp.net gridview dataset aspxgridview


【解决方案1】:

我想问题的一部分是你愿意吗?我猜您正在寻找一种会带来一些设计问题的 SaveDataChanges() 方法。一是您必须记住网页是无状态的,因此在某种程度上您的网页帖子不知道它刚刚拉出并绑定到 UI 的数据。网格视图控件以一种全面的方式很好地让用户在这里为您提供帮助,并在他们已修改的行上单击更新。有了它,您就有了事件处理程序,您可以只关注已更改的数据并发送一条 UPDATE 语句。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多