DataGrid.DataSource Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é
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 :
Tout composant qui implémente l’interface IListSource
Tout composant qui implémente l’interface IList
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
, Orders
et 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é false
sur .
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).