1)建立的BindingSource两个表某些SQL的方法。
BindingSource bsGroup = new BindingSource();
BindingSource bsUser = new BindingSource();
bsGroup.DataSource = MyDataSet.Tables["Group"];
bsUser.DataSource = MyDataSet.Tables["User"];
2)设置Combo和Grid DataSources。
MyCombo.DataSource = bsGroup;
MyCombo.DisplayMember = "GroupName"; // whatever your ColumnName is
MyCombo.ValueMember = "GroupID";
MyGrid.DataSource = bsUser;
3)建立SelectedIndexChanged事件的组合,并用它来改变在bsUser BindingSource的过滤器。
MyCombo.SelectedIndexChanged += new System.EventHandler(MyCombo_SelectedIndexChanged);
private void MyCombo_SelectedIndexChanged(object sender, System.EventArgs e)
{
// this will depend on what your column names are, obviously
string filter = string.Format("GroupID = {0}", MyCombo.SelectedValue);
bsUser.Filter = filter;
}
这工作正常......取自here。
(是的,我张贴这也是在MSDN上,因为我很着急)
UPDATE1:我研究多了,发现过滤选项...诠释选择= int.Parse(myCombo.SelectedValue.ToString( )); userBindingSource1.Filter =“groupId =”+ selected; – Enrique 2009-12-03 13:41:44
Update2:虽然过滤器工作正常,我想添加dataGridView中的用户,他们相应的选择groupId - 从组合,并保持过滤也......任何线索? – Enrique 2009-12-03 13:42:49