ChildViews ve İlişkileri
içindeki tablolar arasında bir ilişki varsa, üst tablodaki DataSetsatırlar için yöntemini DataRowView kullanarak CreateChildView ilgili alt tablodan içeren satırlar oluşturabilirsinizDataView. Örneğin, aşağıdaki kod Kategoriler'i ve ilgili Ürünleri CategoryName ve ProductName'e göre alfabetik olarak sıralanmış olarak görüntüler.
Dim catTable As DataTable = catDS.Tables("Categories")
Dim prodTable As DataTable = catDS.Tables("Products")
' Create a relation between the Categories and Products tables.
Dim relation As DataRelation = catDS.Relations.Add("CatProdRel", _
catTable.Columns("CategoryID"), _
prodTable.Columns("CategoryID"))
' Create DataViews for the Categories and Products tables.
Dim catView As DataView = New DataView(catTable, "", _
"CategoryName", DataViewRowState.CurrentRows)
Dim prodView As DataView
' Iterate through the Categories table.
Dim catDRV, prodDRV As DataRowView
For Each catDRV In catView
Console.WriteLine(catDRV("CategoryName"))
' Create a DataView of the child product records.
prodView = catDRV.CreateChildView(relation)
prodView.Sort = "ProductName"
For Each prodDRV In prodView
Console.WriteLine(vbTab & prodDRV("ProductName"))
Next
Next
DataTable catTable = catDS.Tables["Categories"];
DataTable prodTable = catDS.Tables["Products"];
// Create a relation between the Categories and Products tables.
DataRelation relation = catDS.Relations.Add("CatProdRel",
catTable.Columns["CategoryID"],
prodTable.Columns["CategoryID"]);
// Create DataViews for the Categories and Products tables.
DataView catView = new DataView(catTable, "", "CategoryName",
DataViewRowState.CurrentRows);
DataView prodView;
// Iterate through the Categories table.
foreach (DataRowView catDRV in catView)
{
Console.WriteLine(catDRV["CategoryName"]);
// Create a DataView of the child product records.
prodView = catDRV.CreateChildView(relation);
prodView.Sort = "ProductName";
foreach (DataRowView prodDRV in prodView)
Console.WriteLine("\t" + prodDRV["ProductName"]);
}