Partager via


DataGrid.DataSource Propriété

Définition

Obtient ou définit la source de données pour laquelle la grille affiche des 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é

Objet qui fonctionne en tant que 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 :

Pour plus d’informations sur les sources de données, consultez la vue d’ensemble de la Binding classe.

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

Si vous définissez l’objet DataSource qui n’implémente pas l’interface IList ou qu’une IListSource grille lève une exception.

Vous pouvez créer une grille qui permet aux utilisateurs de modifier des 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 le DataGrid fichier à un ArrayList. Une fonctionnalité du ArrayList type est qu’elle peut contenir des objets de plusieurs types, mais elle DataGrid ne peut être liée 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, soit 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, d’autre part, le premier élément est un TextBox, le deuxième objet ne peut pas être un Control. En outre, les ArrayList éléments doivent y figurer lorsqu’ils sont liés. Une grille vide ArrayList entraîne une grille vide. En outre, les objets de l’objet ArrayList doivent contenir des propriétés publiques. Lors de la liaison à un ArrayList, définissez la MappingNameDataGridTableStyle valeur « ArrayList » (nom du type).

S’applique à

Voir aussi