Bildiğiniz gibi BindingSource nesnesi .Net Framework 2.0 versiyonu ile hayatımıza girdi. Girmesiyle Data nesneleri arasında ilişki kurmak daha da kolay oldu.

Şöyle ki;

SqlConnection
cn = new SqlConnection("Data Source=.;Initial Catalog=Northwind;Integrated Security=True");
SqlDataAdapter dap = new SqlDataAdapter("select categoryid,categoryname from categories;select productid,productname,categoryid,unitprice from products"
, cn);
DataSet ds = new DataSet("relData"
);
dap.Fill(ds);
DataRelation rel = new DataRelation("myRel", ds.Tables[0].Columns[0], ds.Tables[1].Columns[2
]);
ds.Relations.Add(rel);
BindingSource bs = new BindingSource(ds, ds.Tables[0
].TableName);
listBox1.DataSource = bs;
listBox1.ValueMember = "categoryid"
;
listBox1.DisplayMember = "categoryname"
;
BindingSource bs2 = new BindingSource(bs, "myRel"
);
dataGridView1.DataSource = bs2;