在.net数据处理应用中,经常需要处理主从表情况。通过主表主键显示明细表对应记录。下面介绍子从表的一些使用方法。 DataRelation -创建DataTable 对象之间的父/子关系。(**前提是表之间必须具备主从关系的条件) SqlConnection sqlcon = new SqlConnection(@"constr"); sqlcon.Open(); SqlCommand comd = new SqlCommand(); comd.Connection = sqlcon; SqlDataAdapterdat = new SqlDataAdapter(comd); DataSet set = new DataSet(); comd.CommandText = "select * from XX"; dat.Fill(set, "TbParent"); comd.CommandText = "select * from XXX"; dat.Fill(set, "TbChild"); sqlcon.Close(); //如果关系主键只有一个,不需用DataColumn数组 DataColumn[] parentcols = new DataColumn[n]; DataColumn[] childcols = new DataColumn[n]; parentcols[0] = set.Tables["TbParent"].Columns["Key0"]; ····· parentcols[n] = set.Tables["TbParent"].Columns["Keyn"]; childcols[0] = set.Tables["TbChild"].Columns["Key0"]; ····· childcols[n] = set.Tables["TbChild"].Columns["Keyn"]; DataRelation relation = new DataRelation("fk_TbParent_TbChild", parentcols, childcols); set.Relations.Add(relation); BindingSource bs_parent = new BindingSource(); // 创建绑定源 BindingSource bs_child = new BindingSource(); bs_parent.DataSource = set; bs_parent.DataMember = "TbParent"; // 绑定到数据源——主表 bs_child.DataSource = bs_parent; bs_child.DataMember = "fk_TbParent_TbChild"; dataGridView1.DataSource = bs_parent; dataGridView2.DataSource = bs_child;