带有DataSet的ASP.NET GridView集,可以';t编辑行

本文关键字:编辑 可以 DataSet ASP NET GridView 带有 | 更新日期: 2023-09-27 18:26:52

我遇到以下问题:

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

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

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

我调查了那个事件,了解发生了什么,如果我在事件中为RowEditing/RowUpdating/RowUpdated等编程,我可以让它发挥作用,但没有更好的方法吗?有没有一种更简单的方法可以在C#中设置我的dataSource并能够维护行的可编辑性?

非常感谢!

带有DataSet的ASP.NET GridView集,可以';t编辑行

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