4

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

4

6 回答 6

5

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

this.radGridViewName.MasterTemplate.Refresh(null); 

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

于 2013-12-14T12:29:52.933 回答
2

您可以使用简单的灵魂来刷新网格中的数据:

MyGrid.DataSource = null;
MyGrid.DataSource = updatedData;
于 2013-05-17T10:52:11.000 回答
2

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

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

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

this.yourTableAdapter.Fill(yourDataSet.yourTabel);

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

于 2013-05-17T16:25:53.827 回答
1

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

于 2013-05-18T10:30:23.313 回答
0

此解决方案类似于 Alexander 的解决方案:

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

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

于 2014-06-27T13:15:52.680 回答
0

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

Resultset.Clear();
DataAdapter.fill(Resultset);
Radgridview.datasource=Resultset;
于 2016-05-09T13:19:47.673 回答