0

我想在包含绑定到 MySQL 数据库的 DataGridView 对象的表单上提供一个“刷新”按钮。通过“新建”MySQLCommand、MySQLDataAdapter、MySqlCommandBuilder 和 DataSet 对象并重新运行查询并将绑定源重新加载到 DataGridView 对象,我得到了没有从具有计算字段的查询填充的列的屏幕。

对于具有计算列的那些,这不起作用。

当然,必须有某种方法可以从数据库中重新加载 DataGridView 对象。

我正在使用 SharpDevelop C# 5 和 .NET framework 4.0、MySQL Community Server 5.3.33 和 MySQL Data Connector/.NET V 6.7.4

非常感谢任何线索!


杰西和布莱恩,

我正在做 WinForms - 抱歉不清楚。我刚刚制定了一个解决方案。首先,仅执行初始加载中运行的内容是不够的。我发现必须“新建”MySqlCommand、MySQLDataAdapter、MySqlCommandBuilder 和 DataSet 对象,然后像加载表单一样运行数据提取。此外,在做任何看起来或闻起来像“编辑”的事情时不能调用它,否则它会抛出异常。我希望我的表单在编辑后刷新,所以我在表单上放置了一个计时器并在 RowValidated 事件结束时启用它,并让计时器调用 ReloadGrid 例程。此外,如果用户打开,比如第 822 行,我发现焦点转到第 0 行和第 0 单元格,所以我将当前行和单元格保存到一个点,然后在数据刷新后重新设置焦点。

4

1 回答 1

0
private void BindGrid(){
//retrieve data

//bind
DataGridView.DataSource = dataSource;
DataGridView.DataBind();
}

//call BindGrid() anytime you need to refresh data, for example in a button event click handler
于 2013-08-15T22:08:20.237 回答