【发布时间】:2014-02-06 15:12:21
【问题描述】:
我通过 Visual Studio 中的数据源添加了一个 MySQL 数据库。然后,我将我想要的表格拖放到我的表单设计中,并更改了布局以适应这里和那里。
我有一个后台工作人员,偶尔使用 MySQL 连接器将数据插入数据库。然后我一直在尝试刷新 datagridview 以反映插入到数据库中的更改,但我无法更新表单以显示新数据。
阅读了我尝试过遇到类似问题的人提出的一些问题:
-
根据这个问题重新绑定数据源Refreshing a DataGridView after DB has changed? 还有这个http://social.msdn.microsoft.com/Forums/vstudio/en-US/a1cf64de-6e35-435c-943c-ed6e9b39525b/how-to-refresh-datagridview-component-using-designer?forum=csharpgeneral
this.rfidDataGridView.DataSource = null; this.rfidDataGridView.Rows.Clear(); this.rfidDataGridView.DataSource = this.rfidBindingSource;这会导致 datagridview 变成一个带有 X 的白色方块
-
在这里调用重置方法http://msdn.microsoft.com/en-us/library/f61k6akt.aspx
this.mcbrideDataSet.Reset(); this.rfidBindingSource.ResetBindings(false);这给了我一个 Windows.Forms.CurrencyManager.getItem 的 SystemOutOfRangeException
-
补充和提神
this.rfidTableAdapter.Fill(this.mcbrideDataSet.rfid); this.rfidDataGridView.PerformLayout(); this.rfidDataGridView.EndEdit(); this.rfidDataGridView.Refresh(); this.rfidDataGridView.Parent.Refresh();
我已经尝试了以上所有方法的一些其他变体。
由于很多这些数据是由 Visual Studio 在 Designer.cs 中自动生成的,我尝试按照数据定义和引用来查看是否可以在其中找到任何有用的东西,但我对 C# 还不够陌生我没有得到任何地方。我看不到连接字符串在哪里,或者 dataSource 从哪里获取数据。我发现它是声明,但不是从数据库中分配值的位置。
任何帮助将不胜感激。
【问题讨论】:
标签: c# mysql visual-studio-2010 datagridview refresh