Partager via


DataGrid.DataSource Propriété

Définition

Obtient ou définit la source de données pour laquelle la grille affiche les données.

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

Valeur de propriété

Object

Objet fonctionnant comme une source de données.

Attributs

Exemples

L’exemple de code suivant montre comment définir le DataSource, et le cas échéant, le DataMember, pour lier un System.Windows.Forms.DataGrid à la fois a DataView et a DataSet. L’exemple montre également comment retourner des sources de données à partir du 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

Remarques

Au moment de l’exécution, utilisez la SetDataBinding méthode pour définir les propriétés et DataMember les DataSource propriétés.

Les sources de données suivantes sont valides :

Consultez la vue d’ensemble de la classe pour plus d’informations Binding sur les sources de données.

Si la DataSource référence contient plusieurs tables, vous devez définir la DataMember propriété une chaîne qui spécifie la table à lier. Par exemple, si la DataSource table est une DataSet ou DataViewManager qui contient trois tables nommées Customers, Orderset OrderDetails, vous devez spécifier la table à lier.

La définition de l’objet DataSource qui n’implémente pas l’interface IList ou une IListSource grille entraîne la levée d’une exception.

Vous pouvez créer une grille qui permet aux utilisateurs de modifier les données, mais les empêche d’ajouter de nouvelles lignes à l’aide d’une DataView source de données et de définir la AddNew propriété falsesur .

Pour lier le DataGrid tableau d’objets fortement typé, le type d’objet doit contenir des propriétés publiques. Pour créer un DataGridTableStyle tableau qui affiche le tableau, définissez la DataGridTableStyle.MappingName propriété sur typename l’emplacement typename où est remplacée par le nom du type d’objet. Notez également que la propriété respecte la MappingName casse ; le nom du type doit être mis en correspondance exactement. Consultez la MappingName propriété pour obtenir un exemple.

Vous pouvez également lier la DataGrid valeur à un ArrayList. Une fonctionnalité de la ArrayList liste est qu’elle peut contenir des objets de plusieurs types, mais elle DataGrid ne peut se lier qu’à une telle liste lorsque tous les éléments de la liste sont du même type que le premier élément. Cela signifie que tous les objets doivent être du même type, ou qu’ils doivent hériter de la même classe que le premier élément de la liste. Par exemple, si le premier élément d’une liste est un Control, le deuxième élément peut être un TextBox (qui hérite de Control). Si, en revanche, le premier élément est un TextBox, le deuxième objet ne peut pas être un Control. En outre, le ArrayList doit avoir des éléments dans celui-ci lorsqu’il est lié. Une grille vide ArrayList entraîne une grille vide. En outre, les objets dans le ArrayList fichier doivent contenir des propriétés publiques. Lors de la liaison à un ArrayList, définissez la MappingName DataGridTableStyle valeur « ArrayList » (nom du type).

S’applique à

Voir aussi