У меня есть, например, 4 DataTables:Петля через несколько таблиц данных (доля одного столбца)
private void Test()
{
DataTable table1 = new DataTable();
table1.Columns.Add("MyId");
table1.Columns.Add("Column1");
table1.Columns.Add("Column2");
DataTable table2 = new DataTable();
table2.Columns.Add("Column3");
table2.Columns.Add("MyId");
table2.Columns.Add("Column4");
DataTable table3 = new DataTable();
table3.Columns.Add("Column5");
table3.Columns.Add("MyId");
table3.Columns.Add("Column6");
DataTable table4 = new DataTable();
table4.Columns.Add("Column7");
table4.Columns.Add("Column8");
table4.Columns.Add("MyId");
DataSet set = new DataSet();
set.Tables.Add(table1);
set.Tables.Add(table2);
set.Tables.Add(table3);
set.Tables.Add(table4);
set.Relations.Add("MYKEY", table1.Columns["MyId"], table2.Columns["MyId"]);
set.Relations.Add("MYKEY", table1.Columns["MyId"], table3.Columns["MyId"]);
set.Relations.Add("MYKEY", table1.Columns["MyId"], table4.Columns["MyId"]);
foreach (DataTable dt in set.Tables)
{
foreach (DataRow item in dt.Rows[0].GetChildRows("MYKEY"))
{
int id = Convert.ToInt32(item["MyId"]);
string column1 = item["Column1"].ToString();
string column8 = item["Column8"].ToString();
}
}
}
Является ли возможно осуществить связь, где все DataTables соединены на основе столбца «MyId»? Я хотел бы пропустить все строки только с одним циклом.
Я уже читал 'Adding DataRelations на сайте MSDN, но не могу определить несколько отношений с тем же именем.