DataGrid.DataSource Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta l'origine dati per la quale la griglia visualizza i dati.
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
Valore della proprietà
Oggetto che funge da origine dati.
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrato come impostare DataSource, e quando necessario, per DataMemberassociare un System.Windows.Forms.DataGrid oggetto a e a DataView .DataSet L'esempio mostra anche come restituire origini dati da 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
Commenti
In fase di esecuzione usare il SetDataBinding metodo per impostare le DataSource proprietà e DataMember .
Le origini dati seguenti sono valide:
Un DataTable
Un DataView
Un DataSet
Qualsiasi componente che implementa l'interfaccia IListSource
Qualsiasi componente che implementa l'interfaccia IList
Per altre informazioni sulle origini dati, vedere la panoramica della Binding classe.
Se il DataSource riferimento contiene più tabelle, è necessario impostare la DataMember proprietà una stringa che specifica la tabella a cui eseguire l'associazione. Ad esempio, se DataSource è un DataSet oggetto o DataViewManager che contiene tre tabelle denominate Customers, Orderse OrderDetails, è necessario specificare la tabella a cui eseguire l'associazione.
Se si imposta su DataSource un oggetto che non implementa l'interfaccia IList o un oggetto IListSource , la griglia genererà un'eccezione.
È possibile creare una griglia che consente agli utenti di modificare i dati, ma impedisce loro di aggiungere nuove righe usando come DataView origine dati e impostando la AddNew() proprietà su false.
Per associare l'oggetto DataGrid a una matrice fortemente tipizzata di oggetti, il tipo di oggetto deve contenere proprietà pubbliche. Per creare un oggetto DataGridTableStyle che visualizza la matrice, impostare la DataGridTableStyle.MappingName proprietà su typename dove typename viene sostituito dal nome del tipo di oggetto. Si noti anche che la MappingName proprietà fa distinzione tra maiuscole e minuscole. Il nome del tipo deve corrispondere esattamente. Per un esempio, vedere la MappingName proprietà .
È anche possibile associare l'oggetto DataGrid a un oggetto ArrayList. Una funzionalità di ArrayList è che può contenere oggetti di più tipi, ma DataGrid può essere associato solo a tale elenco quando tutti gli elementi dell'elenco sono dello stesso tipo del primo elemento. Ciò significa che tutti gli oggetti devono essere dello stesso tipo oppure devono ereditare dalla stessa classe del primo elemento dell'elenco. Ad esempio, se il primo elemento di un elenco è un Control, il secondo elemento potrebbe essere un TextBox oggetto (che eredita da Control). Se, invece, il primo elemento è un TextBoxoggetto , il secondo oggetto non può essere un Controloggetto . Inoltre, l'oggetto ArrayList deve avere elementi al suo interno quando è associato. Un valore vuoto ArrayList comporterà una griglia vuota. Inoltre, gli oggetti in ArrayList devono contenere proprietà pubbliche. Quando si esegue l'associazione a un ArrayListoggetto , impostare su MappingNameDataGridTableStyle "ArrayList" (il nome del tipo).