c# - DataGridView not flitering detail record and ignoring foreign key relationship -


i have requirment in showing master- detail information datagridview.

i have add foriegn key relationship dataset. detail grid not flitering self based on selection of master. dont know missing here!

just verify if relationship exist , have checked them using datagrid. shows there.

enter image description here

 namespace windowsformsapplication1  {   public partial class form1 : form   {       public form1()       {         initializecomponent();       }       dataset createtableandfill()     {         dataset ds = new dataset();         datatable header = ds.tables.add("header");         datatable line = ds.tables.add("line");         datacolumn datacolumn =  header.columns.add("id", typeof(int));         datacolumn.autoincrement = true;         datacolumn.autoincrementseed = 1;         header.columns.add("name", typeof(string));         line.columns.add("id", typeof(int));         line.columns.add("phone", typeof(string));         datarelation datarelation = new datarelation("id_fk", header.columns["id"], line.columns["id"]);         ds.relations.add(datarelation);         header.rows.add(null, "huzaiafa");         header.rows.add(null, "arthur");         line.rows.add(1, "4253068516");         line.rows.add(1, "4252746864");         line.rows.add(2, "5654034");         line.rows.add(2, "12563");         return ds;     }      private void button1_click(object sender, eventargs e)     {        dataset ds = createtableandfill();        datagridview1.datasource = ds;        datagridview2.datasource = ds;        datagridview1.datamember = "header";        datagridview2.datamember = "line";      } } } 

even after applying walk through msdn not work ! same result.

    private void button1_click(object sender, eventargs e)     {        dataset ds = createtableandfill();         bindingsource masterbindingsource = new bindingsource();        bindingsource detailsbindingsource = new bindingsource();         masterbindingsource.datasource = ds;        detailsbindingsource.datasource = masterbindingsource.datasource;        masterbindingsource.datamember = "header";        detailsbindingsource.datamember = "line";           datagridview1.datasource = masterbindingsource;        datagridview2.datasource = detailsbindingsource;       } 

make following changes:

header.rows.add(1, "huzaiafa");         header.rows.add(2, "arthur");  detailsbindingsource.datasource = masterbindingsource; detailsbindingsource.datamember = "id_fk";  

Comments