Sdílet prostřednictvím


DataGrid.DataSource Vlastnost

Definice

Získá nebo nastaví zdroj dat, pro který mřížka zobrazuje data.

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

Hodnota vlastnosti

Object

Objekt, který funguje jako zdroj dat.

Atributy

Příklady

Následující příklad kódu ukazuje, jak nastavit DataSource, a v případě potřeby , DataMember, vytvořit vazbu System.Windows.Forms.DataGrid k a DataView a DataSet. Příklad také ukazuje, jak vrátit zdroje dat z objektu 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

Poznámky

V době běhu použijte metodu SetDataBinding k nastavení DataSource a DataMember vlastností.

Platné jsou následující zdroje dat:

Další informace o zdrojích dat najdete v přehledu Binding třídy.

DataSource Pokud odkaz obsahuje více než jednu tabulku, je nutné nastavit DataMember vlastnost řetězec, který určuje tabulku, na kterou se má vytvořit vazba. Pokud DataSource je například tabulka DataSet nebo DataViewManager která obsahuje tři tabulky s názvem Customers, Ordersa OrderDetailsmusíte zadat tabulku, na kterou se má vytvořit vazba.

DataSource Nastavení objektu, který neimplementuje IList rozhraní, nebo IListSource způsobí, že mřížka vyvolá výjimku.

Můžete vytvořit mřížku, která uživatelům umožňuje upravovat data, ale brání jim v přidávání nových řádků pomocí DataView zdroje dat a nastavením AddNew vlastnosti na false.

Chcete-li vytvořit vazbu DataGrid na pole objektů silného typu, musí typ objektu obsahovat veřejné vlastnosti. Chcete-li vytvořit DataGridTableStyle , který zobrazí pole, nastavte DataGridTableStyle.MappingName vlastnost na typename místo, kde typename je nahrazen názvem typu objektu. Všimněte si také, že vlastnost MappingName rozlišuje malá a velká písmena. Název typu se musí přesně shodovat. Podívejte se na MappingName vlastnost příkladu.

Můžete také svázat DataGrid s .ArrayList Funkce ArrayList je, že může obsahovat objekty více typů, ale může DataGrid s tímto seznamem svázat pouze tehdy, když jsou všechny položky v seznamu stejného typu jako první položka. To znamená, že všechny objekty musí být buď stejného typu, nebo musí dědit ze stejné třídy jako první položka v seznamu. Pokud je například první položka v seznamu, Controlmůže být druhá položka ( TextBox která dědí z Control). Pokud je na druhé straně první položka , TextBoxdruhý objekt nemůže být Control. ArrayList Kromě toho musí obsahovat položky, které jsou v něm vázány. Prázdné ArrayList bude mít za následek prázdnou mřížku. Kromě toho musí objekty v objektu ArrayList obsahovat veřejné vlastnosti. Při vazbě k objektu ArrayListDataGridTableStyle , nastavte MappingName hodnotu ArrayList (název typu).

Platí pro

Viz také