Proprietà DataGridView.DataSource (System.Windows.Forms)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Proprietà DataGridView.DataSource

Nota: questa proprietà è stata introdotta con .NET Framework versione 2.0.

Ottiene o imposta l'origine dati per la quale vengono visualizzati i dati in DataGridView.

Spazio dei nomi: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Sintassi

Visual Basic - (Dichiarazione)
Public Property DataSource As Object
Visual Basic (Utilizzo)
Dim instance As DataGridView
Dim value As Object

value = instance.DataSource

instance.DataSource = value
C#
public Object DataSource { get; set; }
C++
public:
property Object^ DataSource {
	Object^ get ();
	void set (Object^ value);
}
J#
/** @property */
public Object get_DataSource ()

/** @property */
public void set_DataSource (Object value)

JScript
public function get DataSource () : Object

public function set DataSource (value : Object)

Valore proprietà

Oggetto contenente i dati di DataGridView da visualizzare.
Eccezioni

Tipo di eccezione Condizione

Exception

Si è verificato un errore nell'origine dati e non esiste alcun gestore per l'evento DataError o il gestore ha impostato la proprietà DataGridViewDataErrorEventArgs.ThrowException su true. L'oggetto dell'eccezione può solitamente essere convertito nel tipo FormatException.

Note

La classe DataGridView supporta il modello di associazione ai dati standard di Windows Form. Questo significa che l'origine dati può essere di un qualsiasi tipo che implementa una delle seguenti interfacce:

In genere verrà associata a un componente BindingSource e il componente BindingSource verrà associato a un'altra origine dati oppure la compilerà con oggetti business. Il componente BindingSource è l'origine dati preferita in quanto può stabilire associazioni a un'ampia varietà di origini dati e può risolvere automaticamente numerosi problemi relativi all'associazione dati.

In caso di associazione a un'origine dati contenente più elenchi o tabelle, è necessario impostare la proprietà DataMember su una stringa che specifica l'elenco o tabella a cui è associata. In caso di associazione a un componente BindingSource contenente più elenchi o tabelle, tuttavia, è possibile impostare in alternativa la proprietà DataMember del componente BindingSource.

In caso di associazione a un insieme di oggetti anziché a dati di database, la proprietà DataSourceNullValue dell'oggetto restituito dalla proprietà DefaultCellStyle verrà in genere impostata su riferimento null (Nothing in Visual Basic) e non sul valore predefinito di System.DbNull.Value, che risulta appropriato per i dati di database.

Per ulteriori informazioni, vedere Cenni preliminari sul controllo DataGridView (Windows Form).

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come inizializzare un semplice controllo DataGridView con associazione a dati. Viene inoltre illustrato come impostare la proprietà DataSource. Per eseguire l'esempio, incollare il codice riportato di seguito in un form contenente un oggetto DataGridView denominato dataGridView1, sostituire il valore della variabile connectionString specificata nel codice con una stringa valida per il sistema su cui verrà eseguito l'esempio, quindi chiamare il metodo InitializeDataGridView dal costruttore del form o dal gestore eventi Load.

Visual Basic
Private Sub InitializeDataGridView()
    Try
        ' Set up the DataGridView.
        With Me.dataGridView1
            ' Automatically generate the DataGridView columns.
            .AutoGenerateColumns = True

            ' Set up the data source.
            bindingSource1.DataSource = GetData("Select * From Products")
            .DataSource = bindingSource1

            ' Automatically resize the visible rows.
            .AutoSizeRowsMode = _
                DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders

            ' Set the DataGridView control's border.
            .BorderStyle = BorderStyle.Fixed3D

            ' Put the cells in edit mode when user enters them.
            .EditMode = DataGridViewEditMode.EditOnEnter
        End With
    Catch ex As SqlException
        MessageBox.Show("To run this sample replace " _
            & "connection.ConnectionString with a valid connection string" _
            & "  to a Northwind database accessible to your system.", _
            "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
        System.Threading.Thread.CurrentThread.Abort()
    End Try
End Sub

Private Shared Function GetData(ByVal sqlCommand As String) _
    As DataTable

    Dim connectionString As String = _
        "Integrated Security=SSPI;Persist Security Info=False;" _
        & "Initial Catalog=Northwind;Data Source=localhost"

    Dim northwindConnection As SqlConnection = _
        New SqlConnection(connectionString)

    Dim command As New SqlCommand(sqlCommand, northwindConnection)
    Dim adapter As SqlDataAdapter = New SqlDataAdapter()
    adapter.SelectCommand = command

    Dim table As New DataTable
    table.Locale = System.Globalization.CultureInfo.InvariantCulture
    adapter.Fill(table)

    Return table

End Function

C#
private void InitializeDataGridView()
{
    try
    {
        // Set up the DataGridView.
        dataGridView1.Dock = DockStyle.Fill;

        // Automatically generate the DataGridView columns.
        dataGridView1.AutoGenerateColumns = true;

        // Set up the data source.
        bindingSource1.DataSource = GetData("Select * From Products");
        dataGridView1.DataSource = bindingSource1;

        // Automatically resize the visible rows.
        dataGridView1.AutoSizeRowsMode =
            DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;

        // Set the DataGridView control's border.
        dataGridView1.BorderStyle = BorderStyle.Fixed3D;

        // Put the cells in edit mode when user enters them.
        dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
    }
    catch (SqlException)
    {
        MessageBox.Show("To run this sample replace connection.ConnectionString" +
            " with a valid connection string to a Northwind" +
            " database accessible to your system.", "ERROR",
            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        System.Threading.Thread.CurrentThread.Abort();
    }
}

private static DataTable GetData(string sqlCommand)
{
    string connectionString = "Integrated Security=SSPI;" +
        "Persist Security Info=False;" +
        "Initial Catalog=Northwind;Data Source=localhost";

    SqlConnection northwindConnection = new SqlConnection(connectionString);

    SqlCommand command = new SqlCommand(sqlCommand, northwindConnection);
    SqlDataAdapter adapter = new SqlDataAdapter();
    adapter.SelectCommand = command;

    DataTable table = new DataTable();
    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
    adapter.Fill(table);

    return table;
}

C++
void InitializeDataGridView()
{
   try
   {
      // Set up the DataGridView.
      dataGridView1->Dock = DockStyle::Fill;

      // Automatically generate the DataGridView columns.
      dataGridView1->AutoGenerateColumns = true;

      // Set up the data source.
      bindingSource1->DataSource = GetData( "Select * From Products" );
      dataGridView1->DataSource = bindingSource1;

      // Automatically resize the visible rows.
      dataGridView1->AutoSizeRowsMode = DataGridViewAutoSizeRowsMode::DisplayedCellsExceptHeaders;

      // Set the DataGridView control's border.
      dataGridView1->BorderStyle = BorderStyle::Fixed3D;

      // Put the cells in edit mode when user enters them.
      dataGridView1->EditMode = DataGridViewEditMode::EditOnEnter;
   }
   catch ( SqlException^ ) 
   {
      MessageBox::Show( "To run this sample replace connection.ConnectionString"
      " with a valid connection string to a Northwind"
      " database accessible to your system.", "ERROR", MessageBoxButtons::OK, MessageBoxIcon::Exclamation );
      System::Threading::Thread::CurrentThread->Abort();
   }
   catch ( System::Exception^ ex ) 
   {
      MessageBox::Show( ex->ToString() );
   }
}


DataTable^ GetData( String^ sqlCommand )
{
   String^ connectionString = "Integrated Security=SSPI;Persist Security Info=False;"
   "Initial Catalog=Northwind;Data Source= localhost";
   SqlConnection^ northwindConnection = gcnew SqlConnection( connectionString );
   SqlCommand^ command = gcnew SqlCommand( sqlCommand,northwindConnection );
   SqlDataAdapter^ adapter = gcnew SqlDataAdapter;
   adapter->SelectCommand = command;
   DataTable^ table = gcnew DataTable;
   adapter->Fill( table );
   return table;
}

Piattaforme

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

Informazioni sulla versione

.NET Framework

Supportato in: 2.0
Vedere anche