将数据网格筛选为绑定到另一个数据源的bindingNavigator返回的值
本文关键字:数据源 另一个 bindingNavigator 返回 绑定 数据网 数据 网格 筛选 | 更新日期: 2023-09-27 18:02:32
我有一个表单,它的数据源绑定到一个bindingNavigator。这个数据集包含一个唯一的id,我想使用它(当导航到另一个记录时)来过滤第二个数据集并填充一个数据网格。
我使用的是mdf文件db,在数据库资源管理器窗口中设置了连接。然后在数据源窗口中,我有2个数据集,1个产生唯一id,另一个需要对该id进行过滤。
如何在第一个列上过滤第二个数据集(和绑定的DataGrid) ?
编辑:没有太多代码,因为绑定是通过GUI完成的。下面是form load事件
private void frmS26_Load(object sender, EventArgs e)
{
this.accountMonthsTableAdapter.Fill(this.dsAccountMonths.accountMonths);
}
这个数据集有唯一的id。
编辑2:如果我解释一下我在找什么,可能会有帮助。我有一个事务表,每个记录包含一个名为month_id的字段。Month_id是另一个表(accountMonths)中的唯一主键(命名为id)。bindingNavigator设置为accountMonths数据集(每条记录都是一个日历月)。由于在导航器中选择了月份,因此应该根据导航器的id在month_id字段上过滤数据网格。
您可以使用BindingSource_CurrentChanged事件方法(当您使用bindingNavigator导航时触发),在那里您可以使用绑定源的当前对象并获取其ID,基于该ID您可以过滤其他数据源。
private void xBindingSource_CurrentChanged(object sender, EventArgs e)
{
DataRow dr = (xBindingSource.Current as DataRowView).Row;
int id=dr["id"]
FilterOtherDataSource(id); //?
}