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

时间:2013-05-17 10:33:29

标签: c# winforms telerik dataset telerik-grid

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

的任何建议

6 个答案:

答案 0 :(得分:4)

当数据源获得更改时,要刷新datagrid,请使用以下代码:

this.radGridViewName.MasterTemplate.Refresh(null); 

这条线解决了我的问题: - )

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

嗯,我自己找到了答案。虽然它仅适用于dataGridView,但不适用于dataListView 要删除记录并将更改提交到数据库:

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

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

this.yourTableAdapter.Fill(yourDataSet.yourTabel);

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

答案 3 :(得分:0)

这是一个tutorial,以分步方式解释如何绑定网格。一旦绑定,引入底层源的更改将自动反映,并且在更新TableAdapter后,RadGridView中的更改将在DataTable中更新。

答案 4 :(得分:0)

此解决方案类似于亚历山大:

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

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

答案 5 :(得分:0)

数据集具有clear函数,可以在将新数据传递给数据集之前调用该函数:

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