// add columns in the Region table
DataColumn col = new DataColumn("RegionID", typeof(int));
regiontable.Columns.Add(col);
col = new DataColumn("RegionDescription");
regiontable.Columns.Add(col);
// add columns in the Territory table
col = new DataColumn("TerritoryID", typeof(int));
territorytable.Columns.Add(col);
col = new DataColumn("TerritoryDescription");
territorytable.Columns.Add(col);
col = new DataColumn("RegionID", typeof(int));
territorytable.Columns.Add(col);
// add the two tables to the dataset
RegionsTerritories.Tables.Add(regiontable);
RegionsTerritories.Tables.Add(territorytable);
// add some rows in the region table
DataRow row = RegionsTerritories.Tables["RegionTable"].NewRow();
row[0] = 3;
row[1] = "region 3";
RegionsTerritories.Tables["RegionTable"].Rows.Add(row);
row = RegionsTerritories.Tables["RegionTable"].NewRow();
row[0] = 2;
row[1] = "region 2";
RegionsTerritories.Tables["RegionTable"].Rows.Add(row);
// add some rows in the Territory table
row = RegionsTerritories.Tables["TerritoryTable"].NewRow();
row[0] = 44122;
row[1] = "terri 44122";
row[2] = 3;
RegionsTerritories.Tables["TerritoryTable"].Rows.Add(row);
row = RegionsTerritories.Tables["TerritoryTable"].NewRow();
row[0] = 53404;
row[1] = "terri 53404";
row[2] = 3;
RegionsTerritories.Tables["TerritoryTable"].Rows.Add(row);
row = RegionsTerritories.Tables["TerritoryTable"].NewRow();
row[1] = "terri 60601";
row[2] = 2;
row[0] = 60601;
RegionsTerritories.Tables["TerritoryTable"].Rows.Add(row);
row = RegionsTerritories.Tables["TerritoryTable"].NewRow();
row[0] = 94105;
row[1] = "terri 94105";
row[2] = 2;
RegionsTerritories.Tables["TerritoryTable"].Rows.Add(row);
// set up ParentBS and ChildBS and filteredChildBS
parentBS.DataSource = RegionsTerritories;
parentBS.DataMember = "RegionTable";
childBS.DataSource = RegionsTerritories;
childBS.DataMember = "TerritoryTable";
filteredChildBS.DataSource = RegionsTerritories;
filteredChildBS.DataMember = "TerritoryTable";
// bind the regionComboBoxColumn to the parentBS
this.regionComboBoxColumn.DataSource = parentBS;
this.regionComboBoxColumn.DisplayMember = "RegionDescription";
this.regionComboBoxColumn.ValueMember = "RegionID";
// bind the territoryComboBoxColumn to the childBS
this.territoryComboBoxColumn.DataSource = childBS;
this.territoryComboBoxColumn.DisplayMember = "TerritoryDescription";
this.territoryComboBoxColumn.ValueMember = "TerritoryID";
// Bound to a datatable
DataTable dtViewData = new DataTable("ViewData");
dtViewData.Columns.Add("RegionID", typeof(Int32));
dtViewData.Columns.Add("TerritoryID", typeof(Int32));
DataRow dr = dtViewData.NewRow();
dr["RegionID"] = 3;
dr["TerritoryID"] = 44122;
dtViewData.Rows.Add(dr);
dr = dtViewData.NewRow();
dr["RegionID"] = 2;
dr["TerritoryID"] = 60601;
dtViewData.Rows.Add(dr);
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = dtViewData;
dataGridView1.Columns[0].DataPropertyName = "RegionID";
dataGridView1.Columns[1].DataPropertyName = "TerritoryID";