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.
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
Post a Comment