Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können eine DataViewManager zum Verwalten der Ansichtseinstellungen für alle Tabellen in einem DataView verwenden. Wenn Sie über ein Steuerelement verfügen, das Sie an mehrere Tabellen binden möchten, z. B. ein Raster, das in Beziehungen navigiert, ist eine DataViewManager ideal.
Die DataViewManager enthält eine Sammlung von DataViewSetting Objekten, die verwendet werden, um die Ansichtseinstellungen der Tabellen in der DataSet festzulegen. Das DataViewSettingCollection enthält ein DataViewSetting Objekt für jede Tabelle in einem DataSet. Sie können die Standardeigenschaften ApplyDefaultSort, Sort, RowFilter und RowStateFilter der referenzierten Tabelle mithilfe von DataViewSetting festlegen. Sie können auf eine bestimmte Tabelle DataViewSetting anhand des Namens, der Ordnungsnummer oder indem Sie einen Verweis auf das spezifische Tabellenobjekt übergeben, verweisen. Mit der Eigenschaft DataViewSettings können Sie auf die Sammlung der DataViewSetting Objekte in einem DataViewManager zugreifen.
Im folgenden Codebeispiel werden die Tabellen Customers, Orders und Order Details aus der SQL Server Northwind-Datenbank gefüllt, die Beziehungen zwischen den Tabellen erstellt, eine DataViewManager genutzt, um Standardeinstellungen DataView festzulegen, und ein DataGrid an den DataViewManager gebunden. Im Beispiel werden die Standardeinstellungen DataView so festgelegt, dass alle Tabellen DataSet nach dem Primärschlüssel der Tabelle sortiert werden (ApplyDefaultSort = true), und anschließend wird die Sortierreihenfolge der Customers-Tabelle so geändert, dass nach CompanyName sortiert wird.
' 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");