DataGrid.DataSource Eigenschap

Definitie

Hiermee haalt u de gegevensbron op waarvoor het raster gegevens weergeeft of stelt u deze in.

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

Waarde van eigenschap

Een object dat fungeert als een gegevensbron.

Kenmerken

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de DataSource en, indien nodig, de DataMember, instelt om een System.Windows.Forms.DataGrid te binden aan zowel een DataView als een DataSet. In het voorbeeld ziet u ook hoe u gegevensbronnen kunt retourneren uit de 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

Opmerkingen

Gebruik tijdens runtime de SetDataBinding methode om de DataSource en DataMember eigenschappen in te stellen.

De volgende gegevensbronnen zijn geldig:

Zie het Binding klassenoverzicht voor meer informatie over gegevensbronnen.

Als de DataSource verwijzing meer dan één tabel bevat, moet u de DataMember eigenschap instellen op een tekenreeks waarmee de tabel moet worden verbonden. Als de tabel bijvoorbeeld een DataSource of drie tabellen bevat met de DataSet naam DataViewManager, Customersen Ordersmoet u de tabel opgeven waaraan moet worden OrderDetails gekoppeld.

Als u het DataSource instelt op een object dat de IList interface niet implementeert of een IListSource object, wordt er een uitzondering gegenereerd door het raster.

U kunt een raster maken waarmee gebruikers gegevens kunnen bewerken, maar ze kunnen geen nieuwe rijen toevoegen door een DataView als gegevensbron te gebruiken en de AddNew() eigenschap in te stellen op false.

Als u de DataGrid aan een sterk getypte matrix van objecten wilt binden, moet het objecttype openbare eigenschappen bevatten. Als u een DataGridTableStyle matrix wilt maken die de matrix weergeeft, stelt u de DataGridTableStyle.MappingName eigenschap in op typename waar typename deze wordt vervangen door de naam van het objecttype. Houd er ook rekening mee dat de MappingName eigenschap hoofdlettergevoelig is. De naam van het type moet exact overeenkomen. Zie de MappingName eigenschap voor een voorbeeld.

U kunt de DataGrid aan een ArrayList. Een kenmerk van de ArrayList functie is dat het objecten van meerdere typen kan bevatten, maar de DataGrid functie kan alleen worden gebonden aan een dergelijke lijst wanneer alle items in de lijst van hetzelfde type zijn als het eerste item. Dit betekent dat alle objecten van hetzelfde type moeten zijn of dat ze moeten overnemen van dezelfde klasse als het eerste item in de lijst. Als het eerste item in een lijst bijvoorbeeld een Controlis, kan het tweede item een TextBox item zijn (dat overgaat van Control). Als het eerste item daarentegen een TextBoxis, kan het tweede object geen Control. Verder moet de ArrayList lijst items bevatten wanneer deze afhankelijk is. Een lege ArrayList waarde resulteert in een leeg raster. Bovendien moeten de objecten in de ArrayList objecten openbare eigenschappen bevatten. Wanneer u een binding tot een ArrayListwaarde instelt, stelt u de MappingNameDataGridTableStyle waarde in op 'ArrayList' (de naam van het type).

Van toepassing op

Zie ook