我使用BindingSource,类型化数据集和DataGridView绑定数据时遇到问题。我的问题是:BindingSource,因此grid,绑定数据后为空(bindingSource.Count为0)。我无法弄清楚我做错了什么,如果有人能帮助我,我会很高兴。我的应用程序结构是这样的:我有两个程序集,一个是Winforms UI,另一个是数据库类库。
UI
数据库汇编
用户界面代码
的OnLoad
this.db = new DB();
db.BindData();
数据库代码
构造
create typedDataSet object
create typedDataSetTableAdapters.MyTableTableAdapter object
create typedDataSetTableAdapters.TableAdapterManager object
BindData()
this.myTableTableAdapter.Fill(this.typedDataSet.MyTable)
我很感激任何帮助。
答案 0 :(得分:1)
嗯,首先要问的是:this.typedDataSet.MyTable.Rows.Count
是什么?即适配器做了什么?如果没有,它与绑定无关。
假设它非空,那么您使用什么完全代码来设置DataSource
和DataMember
?我希望它应该是:
bindingSource.DataSource = this.typedDataSet;
bindingSource.DataMember = "MyTable";
dataGridView.DataSource = bindingSource;
或者,您可以将bindingSource
的数据源设置为this.typedDataSet.MyTable
,并将表格留空。
基本上,我希望你已经告诉它要预测的类型数据,但到目前为止你还没有给它想要使用的数据集/数据表。
答案 1 :(得分:0)
基本上,我希望您已经告诉它预期的数据类型,但到目前为止,您还没有真正给出它想要使用的数据集/数据表。
马克你对这个问题是正确的。我喜欢在我的DB类中创建一个公共DataSet属性,并将其用作BindingSource的DataSource来使其工作。谢谢你的帮助。