使用Access数据库的Csharp数据库应用程序

时间:2012-07-18 07:27:16

标签: c# ms-access-2010

我是编程新手,并尝试使用MS Access DB 2010使用C#2010 Express开发数据库应用程序。

我在表单上通过向导生成了DataGridView和Detail视图。我正在使用文本框的TextChanged事件过滤数据。

当我导航记录时,datagridview也会根据Detail视图中的当前记录滚动,反之亦然。

应用和删除过滤后,此导航行为根本不起作用(即datagridview不再根据详细视图中的当前记录滚动)。

任何帮助都将不胜感激。

感谢。

以下是我用于过滤数据的代码(FilterField来自单选按钮的Tag属性):

DataView dv = new DataView(personel_csDataSet.Tables["tblData"]);
dv.RowFilter = FilterField + " like '%' + '" + tbFilter.Text + "' + '%' ";
this.tblDataDataGridView.DataSource = dv;
tblDataBindingSource.Filter = FilterField + " like '%' + '" + tbFilter.Text + "' + '%' ";

1 个答案:

答案 0 :(得分:0)

这是因为您为网格和详细信息视图设置了不同的数据源。如果tblDataBindingSource是详细信息视图的数据源,请将其指定为网格的数据源,并且不要创建另一个视图:

this.tblDataDataGridView.DataSource = tblDataBindingSource;
tblDataBindingSource.Filter = FilterField +“like'%'+'”+ tbFilter.Text +“'+'%'”;

顺便说一下,您不必准确分配数据源。您可以在开始时执行此操作,并且在应用过滤器后无需重新分配。