我试图了解以下两个示例之间的区别。
首先,这是我目前将数据分配给我的 WinForm 应用程序中的控件的方式。
lkuCounty.Properties.DataSource = Person.CountyList();
lkuCounty.Properties.PopulateColumns();
lkuCounty.Properties.DisplayMember = "CountyName";
lkuCounty.Properties.ValueMember = "CountyID";
lkuCounty.Properties.Columns[0].Visible = false;
lkuCounty.Properties.Columns[2].Visible = false;
lkuCounty.Properties.Columns[3].Visible = false;
这似乎可行,但我承认,如果它稍微偏离,我可能缺乏仅通过查看代码来判断的经验。另外值得注意的是,Person.CountyList()
实际上返回一个DataTable
:\
现在我发现的所有例子似乎都在说我应该这样做。
memberBindingSource.DataSource = Person.CountyList();
lkuCounty.Properties.DataSource = memberBindingSource;
lkuCounty.Properties.PopulateColumns();
lkuCounty.Properties.DisplayMember = "CountyName";
lkuCounty.Properties.ValueMember = "CountyID";
lkuCounty.Properties.Columns[0].Visible = false;
lkuCounty.Properties.Columns[2].Visible = false;
lkuCounty.Properties.Columns[3].Visible = false;
使用 BindingSource 有什么好处吗?以其他方式进行是否有负面影响?
对于上下文,这是使用 SQL 2005 的 C# 中的 WinForm CRUD 应用程序。