using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _07datarelation
{
class Program
{
static void Main(string[] args)
{
DataSet ds = new DataSet("ds");
DataTable dt1 = new DataTable("user");
DataTable dt2 = new DataTable("dept");
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);
dt1.Columns.Add("UserId", typeof(int));
dt1.Columns.Add("UserName", typeof(string));
dt1.Columns.Add("Age", typeof(int));
dt1.Columns.Add("DeptId", typeof(int));
dt2.Columns.Add("DeptId", typeof(int));
dt2.Columns.Add("DeptName", typeof(string));
DataRelation relation = new DataRelation("relatyion", dt2.Columns[0], dt1.Columns[3]);
ds.Relations.Add(relation);
initData(dt1, dt2);
foreach (DataRow dr in dt2.Rows)
{
DataRow[] rows = dr.GetChildRows(relation);
foreach (DataRow r in rows)
{
Console.WriteLine("UserId=" + r[0]+" UserName="+r[1]+" age="+r[2]+" DeptId="+r[3]);
}
}
Console.ReadKey();
}
public static void initData(DataTable dt1 ,DataTable dt2)
{
DataRow dr2 = dt2.NewRow();
dr2["DeptId"] = 1;
dr2["DeptName"] = "人事部";
dt2.Rows.Add(dr2);
dr2 = dt2.NewRow();
dr2["DeptId"] = 2;
dr2["DeptName"] = "管理部";
dt2.Rows.Add(dr2);
dr2 = dt2.NewRow();
dr2["DeptId"] = 3;
dr2["DeptName"] = "销售部";
dt2.Rows.Add(dr2);
DataRow dr1 = dt1.NewRow();
dr1["UserId"] = 1;
dr1["UserName"] = "李明";
dr1["Age"] = 22;
dr1["DeptId"] = 3;
dt1.Rows.Add(dr1);
dr1 = dt1.NewRow();
dr1["UserId"] = 2;
dr1["UserName"] = "刘丽";
dr1["Age"] = 24;
dr1["DeptId"] = 1;
dt1.Rows.Add(dr1);
dr1 = dt1.NewRow();
dr1["UserId"] = 3;
dr1["UserName"] = "王力";
dr1["Age"] = 23;
dr1["DeptId"] = 3;
dt1.Rows.Add(dr1);
}
}
}