Telerik gridview:如何在数据库更改后刷新网格视图

本文关键字:刷新 网格 视图 数据库 gridview Telerik | 更新日期: 2023-09-27 18:13:58

我在c# winform应用程序中使用radgridview来显示数据库中的数据。我也通过ADO.Net改变数据库。问题是在我更改数据库之后,例如通过删除一行或添加新行,更改不会出现在gridview中。
我还想提一下,我已经通过智能标签将数据库绑定到gridview,当我试图创建一个新的数据集并将其分配给radgridview1.datasource时,我得到了大量的错误。关于如何强迫radgridview重新加载它的datasource有什么建议吗?

Telerik gridview:如何在数据库更改后刷新网格视图

当数据源发生变化时,使用以下代码刷新数据网格:

this.radGridViewName.MasterTemplate.Refresh(null); 

这行解决了我的问题:-)

您可以使用简单的解决方案来刷新网格中的数据:

MyGrid.DataSource = null;
MyGrid.DataSource = updatedData;

好吧,我自己找到了答案。虽然它只适用于dataGridView,而不适用于dataListView
删除一条记录并将更改提交到数据库:

radGridView1.CurrentRow.Delete();
this.yourTableAdapter.Update(yourDataSet);

另一方面,如果您添加了新记录并且想要修改列表:

this.yourTableAdapter.Fill(yourDataSet.yourTabel);

如果你知道如何对dataListView做同样的事情,我将很高兴听到。

这是一个教程,一步一步地解释如何绑定网格。一旦绑定,引入到底层源的更改将自动反映,并且在更新TableAdapter之后,RadGridView中的更改将在DataTable中更新。

这个解决方案类似于Alexander的:

List<ClassOfDataRow> t = radGridView.ItemsSource as List<ClassOfDataRow>;
radGridView.ItemsSource = null;
radGridView.ItemsSource = t;

ClassOfDataRow是用于在网格中存储一行数据的类,radGridView是RadGridView的名称。

数据集有一个清晰的函数,可以在新数据传递到数据集之前调用:

Resultset.Clear();
DataAdapter.fill(Resultset);
Radgridview.datasource=Resultset;