1

我遇到了数据绑定 DataGridView 的问题:

我正在使用一个视图,包括来自 SQL-Server 数据库的内部连接作为数据源。当我以编程方式插入行时,数据写入正确,但 DataGridView 没有显示它应该显示的数据。

视图中的某些列与另一个表连接。基本上,我将主表中的 ID 值与子表连接起来,以便能够显示列的文本值。当我将包含 id 值的行插入 GridView 时,它会显示 ID 值,但不显示相应的文本值。

如果我重新启动程序,一切都会正确显示。如何更新/刷新 GridView 以显示正确的文本值?我已经尝试过 GridView.EndEdit() 和 GridView.Refresh(),将数据源重新绑定到 GridView,并且一直在搜索网络但没有成功。

4

2 回答 2

0

DataGridView.Refresh()用于图形刷新,而不是数据刷新。您需要在更新后重新绑定数据源。

插入后将数据源设置为null:DataGridView.DataSource = null;然后通过重新查询数据并应用更新的源重新绑定数据源DataGridView.DataSource = someSource,最后DataBind()再次调用。

它对您来说性能不够,我可能会建议限制结果集中返回的行数,或者将一些有价值的索引应用于您的表。

于 2013-04-04T17:11:30.133 回答
0

使用您在第一页加载时使用的相同查询重新查询。

于 2013-04-04T15:43:41.983 回答