DataGrid.DataSource Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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 na 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 SetDataBindingDataSource k nastavení a DataMember vlastností.
Jsou platné následující zdroje dat:
A DataView
A DataSet
Libovolná komponenta, která implementuje IListSource rozhraní
Libovolná komponenta, která implementuje IList rozhraní
Další informace o zdrojích dat najdete v přehledu Binding třídy.
DataSource Pokud odkaz obsahuje více než jednu tabulku, musíte nastavit DataMember vlastnost řetězec, který určuje tabulku, ke které má být vázána. Pokud DataSource je například tabulka DataViewManager nebo DataSet obsahuje tři tabulky s názvem Customers, Ordersa OrderDetails, musíte zadat tabulku, ke které 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 pole, nastavte DataGridTableStyle.MappingName vlastnost na typename místo, kde typename je nahrazen názvem typu objektu. Všimněte si také, že u MappingName vlastnosti se rozlišují malá a velká písmena. Název typu se musí přesně shodovat. Příklad najdete ve MappingName vlastnosti.
Můžete také svázat s DataGrid objektem ArrayList. Funkce ArrayList je, že může obsahovat objekty více typů, ale DataGrid může svázat pouze takový seznam, pokud 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 , Controldruhá položka může být ( 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 vytváření vazby na ArrayListhodnotu ArrayList nastavte MappingNameDataGridTableStyle hodnotu ArrayList (název typu).