Freigeben über


DataGrid.DataSource Eigenschaft

Definition

Ruft die Datenquelle ab, für die das Raster Daten anzeigt, oder legt sie fest.

public:
 property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public object DataSource { get; set; }
public object DataSource { get; set; }
[<System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.DataSource : obj with get, set
member this.DataSource : obj with get, set
Public Property DataSource As Object

Eigenschaftswert

Ein Objekt, das als Datenquelle fungiert.

Attribute

Beispiele

Das folgende Codebeispiel zeigt, wie sie das DataSourceUnd bei Bedarf festlegen, das DataMember, um eine System.Windows.Forms.DataGrid Bindung an ein DataView und ein .DataSet Das Beispiel zeigt auch, wie Datenquellen aus der System.Windows.Forms.DataGrid.

private:
   void BindToDataView( DataGrid^ myGrid )
   {
      // Create a DataView using the DataTable.
      DataTable^ myTable = gcnew DataTable( "Suppliers" );
      // Insert code to create and populate columns.
      DataView^ myDataView = gcnew DataView( myTable );
      myGrid->DataSource = myDataView;
   }

   void BindToDataSet( DataGrid^ myGrid )
   {
      // Create a DataSet.
      DataSet^ myDataSet = gcnew DataSet( "myDataSet" );
      // Insert code to populate DataSet with several tables.
      myGrid->DataSource = myDataSet;
      // Use the DataMember property to specify the DataTable.
      myGrid->DataMember = "Suppliers";
   }

   DataView^ GetDataViewFromDataSource()
   {
      // Create a DataTable variable, and set it to the DataSource.
      DataView^ myDataView;
      myDataView = (DataView^)(dataGrid1->DataSource);
      return myDataView;
   }

   DataSet^ GetDataSetFromDataSource()
   {
      // Create a DataSet variable, and set it to the DataSource.
      DataSet^ myDataSet;
      myDataSet = (DataSet^)(dataGrid1->DataSource);
      return myDataSet;
   }
private void BindToDataView(DataGrid myGrid){
    // Create a DataView using the DataTable.
    DataTable myTable = new DataTable("Suppliers");
    // Insert code to create and populate columns.
    DataView myDataView = new DataView(myTable);
    myGrid.DataSource = myDataView;
 }
 private void BindToDataSet(DataGrid myGrid){
    // Create a DataSet.
    DataSet myDataSet = new DataSet("myDataSet");
    // Insert code to populate DataSet with several tables.
    myGrid.DataSource = myDataSet;
    // Use the DataMember property to specify the DataTable.
    myGrid.DataMember = "Suppliers";
 }
 private DataView GetDataViewFromDataSource(){
    // Create a DataTable variable, and set it to the DataSource.
    DataView myDataView;
    myDataView = (DataView) dataGrid1.DataSource;
    return myDataView;
 }
 private DataSet GetDataSetFromDataSource(){
    // Create a DataSet variable, and set it to the DataSource.
    DataSet myDataSet;
    myDataSet = (DataSet) dataGrid1.DataSource;
    return myDataSet;
 }
Private Sub BindToDataView(myGrid As DataGrid)
    ' Create a DataView using the DataTable.
    Dim myTable As New DataTable("Suppliers")
    ' Insert code to create and populate columns.
    Dim myDatatView As New DataView(myTable)
    myGrid.DataSource = myDatatView
End Sub

Private Sub BindToDataSet(myGrid As DataGrid)
    ' Create a DataSet.
    Dim myDataSet As New DataSet("myDataSet")
    ' Insert code to populate DataSet with several tables.
    myGrid.DataSource = myDataSet
    ' Use the DataMember property to specify the DataTable.
    myGrid.DataMember = "Suppliers"
End Sub

Private Function GetDataViewFromDataSource() As DataView
    ' Create a DataTable variable, and set it to the DataSource.
    Dim myDatatView As DataView
    myDatatView = CType(dataGrid1.DataSource, DataView)
    Return myDatatView
End Function 'GetDataViewFromDataSource

Private Function GetDataSetFromDataSource() As DataSet
    ' Create a DataSet variable, and set it to the DataSource.
    Dim myDataSet As DataSet
    myDataSet = CType(dataGrid1.DataSource, DataSet)
    Return myDataSet
End Function 'GetDataSetFromDataSource

Hinweise

Verwenden Sie zur Laufzeit die SetDataBinding Methode, um die DataSource Eigenschaften DataMember festzulegen.

Die folgenden Datenquellen sind gültig:

Weitere Informationen zu Datenquellen finden Sie in der Binding Klassenübersicht.

Wenn der DataSource Verweis mehrere Tabellen enthält, müssen Sie die DataMember Eigenschaft auf eine Zeichenfolge festlegen, die die zu bindende Tabelle angibt. Wenn es DataSource sich z. B. um eine DataSet oder DataViewManager drei Tabellen mit dem Namen Customers", Ordersund OrderDetails" handelt, müssen Sie die Tabelle angeben, an die eine Bindung hergestellt werden soll.

Wenn Sie das DataSource Objekt auf ein Objekt festlegen, das die IList Schnittstelle nicht implementiert, oder ein IListSource Objekt löst das Raster eine Ausnahme aus.

Sie können ein Raster erstellen, mit dem Benutzer Daten bearbeiten können, sie aber daran hindern, neue Zeilen hinzuzufügen, indem Sie eine DataView Datenquelle verwenden und die AddNew() Eigenschaft auf falsefestlegen.

Um das DataGrid Objekt an ein stark typiertes Array von Objekten zu binden, muss der Objekttyp öffentliche Eigenschaften enthalten. Um ein DataGridTableStyle Objekt zu erstellen, das das Array anzeigt, legen Sie die DataGridTableStyle.MappingName Eigenschaft so typename fest, dass typename sie durch den Namen des Objekttyps ersetzt wird. Beachten Sie außerdem, dass bei der MappingName Eigenschaft die Groß-/Kleinschreibung beachtet wird. Der Typname muss exakt übereinstimmen. Ein Beispiel finden Sie in der MappingName Eigenschaft.

Sie können die DataGrid Bindung auch an eine ArrayList. Ein Feature ist ArrayList , dass es Objekte mehrerer Typen enthalten kann, aber die DataGrid kann nur an eine solche Liste gebunden werden, wenn alle Elemente in der Liste vom gleichen Typ wie das erste Element sind. Dies bedeutet, dass alle Objekte entweder vom gleichen Typ sein müssen, oder sie müssen von derselben Klasse erben wie das erste Element in der Liste. Wenn beispielsweise das erste Element in einer Liste ein Controlist, könnte das zweite Element ein TextBox (das erbt von Control). Wenn das erste Element dagegen ein TextBoxist, kann das zweite Objekt kein Control. Darüber hinaus müssen die ArrayList Elemente darin enthalten sein, wenn sie gebunden sind. Ein leeres ArrayList Raster führt zu einem leeren Raster. Darüber hinaus müssen die Objekte in den ArrayList öffentlichen Eigenschaften enthalten. Legen Sie beim Binden an ein ArrayListArrayList -Objekt (den Typnamen) auf MappingNameDataGridTableStyle "ArrayList" fest.

Gilt für:

Weitere Informationen