DataView Yönetme
içindeki DataViewManager tüm tabloların görünüm ayarlarını yönetmek için kullanabilirsiniz DataView. İlişkilerde gezinen bir kılavuz gibi birden çok tabloya bağlamak istediğiniz bir denetiminiz varsa DataViewManager idealdir.
DataViewManager, içindeki tabloların DataViewSetting DataSetgörünüm ayarını ayarlamak için kullanılan bir nesne koleksiyonu içerir. bir DataViewSettingCollection DataSet içindeki her tablo için bir nesne içerirDataViewSetting. Başvurulan tablonun varsayılan ApplyDefaultSort, Sort, RowFilter ve RowStateFilter özelliklerini DataViewSetting kullanarak ayarlayabilirsiniz. Belirli bir tablo için DataViewSetting'e ada veya sıralı başvuruya göre veya bu tablo nesnesine başvuru geçirerek başvurabilirsiniz. DataViewManager içindeki DataViewSetting nesnelerinin koleksiyonuna DataView Ayarlar özelliğini kullanarak erişebilirsiniz.
Aşağıdaki kod örneği dataset'i SQL Server Northwind veritabanı tabloları Customers, Orders ve Order Details ile doldurur, tablolar arasındaki ilişkileri oluşturur, varsayılan DataView ayarlarını ayarlamak için dataviewmanager kullanır ve DataViewManager'a bir DataGrid bağlar. Örnek, DataSet'teki tüm tablolar için varsayılan DataView ayarlarını tablonun birincil anahtarına göre (ApplyDefaultSort = true) sıralanacak şekilde ayarlar ve ardından Müşteriler tablosunun sıralama düzenini CompanyName'e göre sıralanacak şekilde değiştirir.
' Assumes connection is a valid SqlConnection to Northwind.
' Create a Connection, DataAdapters, and a DataSet.
Dim custDA As SqlDataAdapter = New SqlDataAdapter( _
"SELECT CustomerID, CompanyName FROM Customers", connection)
Dim orderDA As SqlDataAdapter = New SqlDataAdapter( _
"SELECT OrderID, CustomerID FROM Orders", connection)
Dim ordDetDA As SqlDataAdapter = New SqlDataAdapter( _
"SELECT OrderID, ProductID, Quantity FROM [Order Details]", connection)
Dim custDS As DataSet = New DataSet()
' Open the Connection.
connection.Open()
' Fill the DataSet with schema information and data.
custDA.MissingSchemaAction = MissingSchemaAction.AddWithKey
orderDA.MissingSchemaAction = MissingSchemaAction.AddWithKey
ordDetDA.MissingSchemaAction = MissingSchemaAction.AddWithKey
custDA.Fill(custDS, "Customers")
orderDA.Fill(custDS, "Orders")
ordDetDA.Fill(custDS, "OrderDetails")
' Close the Connection.
connection.Close()
' Create relationships.
custDS.Relations.Add("CustomerOrders", _
custDS.Tables("Customers").Columns("CustomerID"), _
custDS.Tables("Orders").Columns("CustomerID"))
custDS.Relations.Add("OrderDetails", _
custDS.Tables("Orders").Columns("OrderID"), _
custDS.Tables("OrderDetails").Columns("OrderID"))
' Create default DataView settings.
Dim viewManager As DataViewManager = New DataViewManager(custDS)
Dim viewSetting As DataViewSetting
For Each viewSetting In viewManager.DataViewSettings
viewSetting.ApplyDefaultSort = True
Next
viewManager.DataViewSettings("Customers").Sort = "CompanyName"
' Bind to a DataGrid.
Dim grid As System.Windows.Forms.DataGrid = New System.Windows.Forms.DataGrid()
grid.SetDataBinding(viewManager, "Customers")
// Assumes connection is a valid SqlConnection to Northwind.
// Create a Connection, DataAdapters, and a DataSet.
SqlDataAdapter custDA = new SqlDataAdapter(
"SELECT CustomerID, CompanyName FROM Customers", connection);
SqlDataAdapter orderDA = new SqlDataAdapter(
"SELECT OrderID, CustomerID FROM Orders", connection);
SqlDataAdapter ordDetDA = new SqlDataAdapter(
"SELECT OrderID, ProductID, Quantity FROM [Order Details]", connection);
DataSet custDS = new DataSet();
// Open the Connection.
connection.Open();
// Fill the DataSet with schema information and data.
custDA.MissingSchemaAction = MissingSchemaAction.AddWithKey;
orderDA.MissingSchemaAction = MissingSchemaAction.AddWithKey;
ordDetDA.MissingSchemaAction = MissingSchemaAction.AddWithKey;
custDA.Fill(custDS, "Customers");
orderDA.Fill(custDS, "Orders");
ordDetDA.Fill(custDS, "OrderDetails");
// Close the Connection.
connection.Close();
// Create relationships.
custDS.Relations.Add("CustomerOrders",
custDS.Tables["Customers"].Columns["CustomerID"],
custDS.Tables["Orders"].Columns["CustomerID"]);
custDS.Relations.Add("OrderDetails",
custDS.Tables["Orders"].Columns["OrderID"],
custDS.Tables["OrderDetails"].Columns["OrderID"]);
// Create default DataView settings.
DataViewManager viewManager = new DataViewManager(custDS);
foreach (DataViewSetting viewSetting in viewManager.DataViewSettings)
viewSetting.ApplyDefaultSort = true;
viewManager.DataViewSettings["Customers"].Sort = "CompanyName";
// Bind to a DataGrid.
System.Windows.Forms.DataGrid grid = new System.Windows.Forms.DataGrid();
grid.SetDataBinding(viewManager, "Customers");