Condividi tramite


Procedura dettagliata: creazione di un controllo utente Windows Form che supporta l'associazione dati complessa

Quando si visualizzano i dati nei form delle applicazioni Windows, è possibile scegliere i controlli esistenti dalla Casella degli strumenti oppure creare controlli personalizzati se l'applicazione richiede delle funzionalità non disponibili nei controlli standard. In questa procedura dettagliata viene illustrato come creare un controllo che implementa l'oggetto ComplexBindingPropertiesAttribute. Nei controlli che implementano l'oggetto ComplexBindingPropertiesAttribute può essere contenuta una proprietà DataSource e DataMember per l'associazione a dati. Tali controlli sono simili a un oggetto DataGridView oppure ListBox.

Per ulteriori informazioni sulla modifica di controlli, vedere Sviluppo di controlli Windows Form in fase di progettazione.

Durante la modifica dei controlli da utilizzare in scenari di associazione dati, è necessario implementare uno degli attributi di associazione dati riportati di seguito.

Utilizzo di attributi di associazione dati

Implementare l'oggetto DefaultBindingPropertyAttribute su controlli semplici, ad esempio un oggetto TextBox, nei quali viene visualizzata una singola colonna (oppure una proprietà) di dati. Per ulteriori informazioni, vedere Procedura dettagliata: creazione di un controllo utente Windows Form che supporta l'associazione dati semplice.

Implementare l'oggetto ComplexBindingPropertiesAttribute sui controlli, ad esempio un oggetto DataGridView, nei quali vengono visualizzati elenchi (oppure tabelle) di dati. Il processo è descritto nella pagina di questa procedura dettagliata.

Implementare l'oggetto LookupBindingPropertiesAttribute sui controlli, ad esempio ComboBox, nei quali vengono visualizzati elenchi (oppure tabelle) di dati, ma devono presentare una colonna oppure una proprietà singole. Per ulteriori informazioni, vedere Procedura dettagliata: creazione di un controllo utente Windows Form che supporta l'associazione dati di ricerca.

Questa procedura dettagliata consente la creazione di un controllo complesso in cui sono visualizzate righe di dati di una tabella. In questo esempio viene utilizzata la tabella Customers del database di esempio Northwind. Il controllo utente complesso consentirà la visualizzazione della tabella dei clienti in un oggetto DataGridView nel controllo personalizzato.

In particolare, vengono illustrate le seguenti operazioni:

  • Creare una nuova applicazione Windows.

  • Aggiunta di un nuovo Controllo utente al progetto.

  • Progettazione visiva del controllo utente.

  • Implementazione dell'attributo ComplexBindingProperty.

  • Creazione di un dataset con la Configurazione guidata origine dati.

  • Impostazione della tabella Customers in Origini dati (finestra) per l'utilizzo del nuovo controllo complesso.

  • Aggiunta del nuovo controllo mediante il trascinamento dalla Finestra Origini dati a Form1.

Prerequisiti

Per completare questa procedura dettagliata è necessario:

Creazione di un'applicazione Windows

Il primo passaggio consiste nella creazione di un'Applicazione Windows.

Per creare un nuovo progetto Windows

  1. In Visual Studio scegliere Progetto dal menu File.

  2. Denominare il progetto ComplexControlWalkthroug.

  3. Selezionare Applicazione Windows e scegliere OK. Per ulteriori informazioni, vedere Creazione di applicazioni per Windows.

    Il progetto ComplexControlWalkthrough viene creato e aggiunto a Esplora soluzioni.

Aggiunta di un controllo utente al progetto

Dal momento che in questa procedura guidata viene creato un controllo associabile a dati complesso da un Controllo utente, è necessario aggiungere un elemento Controllo utente al progetto.

Per aggiungere un controllo utente al progetto

  1. Scegliere Aggiungi controllo utente dal menu Progetto.

  2. Digitare ComplexDataGridView nell'area Nome, quindi fare clic su Aggiungi.

    Il controllo ComplexDataGridView viene aggiunto a Esplora soluzioni e viene aperto nella finestra di progettazione.

Progettazione del controllo ComplexDataGridView

Mediante questa procedura viene aggiunto un oggetto DataGridView al controllo utente.

Per progettare il controllo ComplexDataGridView

  • Trascinare un oggetto DataGridView dalla Casella degli strumenti nell'area di progettazione del controllo utente.

‎Aggiunta dell'attributo di associazione dati richiesto.

Per i controlli complessi che supportano le associazioni dati, è possibile implementare l'oggetto ComplexBindingPropertiesAttribute.

Per implementare l'attributo ComplexBindingProperties

  1. Passare al controllo ComplexDataGridView per la visualizzazione codice. Selezionare Codice dal menu Visualizza.

  2. Sostituire il codice nel controllo ComplexDataGridView con la stringa seguente:

    <System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")>
    Public Class ComplexDataGridView
    
        Public Property DataSource() As Object
            Get
                Return DataGridView1.DataSource
            End Get
            Set(ByVal value As Object)
                DataGridView1.DataSource = value
            End Set
        End Property
    
        Public Property DataMember() As String
            Get
                Return DataGridView1.DataMember
            End Get
            Set(ByVal value As String)
                DataGridView1.DataMember = value
            End Set
        End Property
    End Class
    
    using System.Windows.Forms;
    
    namespace CS
    {
        [System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")]
        public partial class ComplexDataGridView : UserControl
        {
            public object DataSource
            {
                get{ return dataGridView1.DataSource; }
                set{ dataGridView1.DataSource = value; }
            }
    
            public string DataMember
            {
                get{ return dataGridView1.DataMember; }
                set{ dataGridView1.DataMember = value; }
            }
    
            public ComplexDataGridView()
            {
                InitializeComponent();
            }
        }
    }
    
  3. Scegliere Compila soluzione dal menu Compila.

Creazione di un'origine dati dal database in uso.

In questa procedura viene utilizzata la Configurazione guidata origine dati per creare un'origine dati basata sulla tabella Customers contenuta nel database di esempio Northwind. Per creare la connessione è necessario disporre dell'accesso al database di esempio Northwind. Per informazioni sull'impostazione del database di esempio Northwind, vedere Procedura: installare database di esempio.

Per creare l'origine dati

  1. Scegliere Mostra origini dati dal menu Dati.

  2. Nella finestra Origini dati selezionare Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.

  3. Selezionare Database nella pagina Scegliere un tipo di origine dati e scegliere Avanti.

  4. Nella pagina Seleziona connessione dati effettuare una delle seguenti operazioni:

    • Selezionare la connessione dati al database di esempio Northwind nell'elenco a discesa, se presente.

      - oppure -

    • Selezionare Nuova connessione per aprire la finestra di dialogo Aggiungi/Modifica connessione. Per ulteriori informazioni, vedere Finestra di dialogo Aggiungi/Modifica connessione (generale).

  5. Se il database in uso richiede una password, selezionare l'opzione che consente di includere dati riservati, quindi scegliere Avanti.

  6. Scegliere Avanti nella pagina Salva la stringa di connessione nel file di configurazione dell'applicazione.

  7. Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.

  8. Selezionare la tabella Customers e scegliere Fine.

    L'oggetto NorthwindDataSet viene aggiunto al progetto e la tabella Customers viene visualizzata nella finestra Origini dati.

Impostazione della tabella Customers per l'utilizzo del controllo ComplexDataGridView

Nella finestra Origini dati è possibile impostare il controllo in modo che venga creato prima dell'operazione di trascinamento degli elementi nel form in uso.

Per impostare la tabella Customers per l'associazione al controllo ComplexDataGridView

  1. Aprire Form1 nella finestra di progettazione.

  2. Espandere il nodo Customers nella finestra Origini dati.

  3. Fare clic sulla freccia a discesa del nodo Customers e scegliere Personalizza.

  4. Selezionare ComplexDataGridView dall'elenco dei controlli associati nella finestra di dialogo relativa alle opzioni di Personalizzazione dell'interfaccia utente dati.

  5. Fare clic sulla freccia a discesa della tabella Customers e scegliere ComplexDataGridView dall'elenco dei controlli.

Aggiunta di controlli al form

È possibile creare i controlli con associazione a dati mediante il trascinamento degli elementi dalla finestra Origini dati al form.

Per creare controlli con associazione a dati nel form

  • Trascinare il nodo Customers principale dalla finestra Origini dati al form e verificare che sia utilizzato il controllo ComplexDataGridView per la visualizzazione dei dati della tabella.

Esecuzione dell'applicazione

Per eseguire l'applicazione

  • ‎Premere F5 per eseguire l'applicazione.

Passaggi successivi

A seconda dei requisiti dell'applicazione, è possibile eseguire diverse operazioni una volta terminata la creazione di un controllo che supporta le associazioni dati. Tra le operazioni successive più comuni sono incluse le seguenti:

Vedere anche

Attività

Procedura: impostare il controllo da creare per il trascinamento dalla finestra Origini dati

Concetti

Associazione di controlli Windows Form ai dati in Visual Studio

Associazione di controlli ai dati in Visual Studio

Altre risorse

Controlli per Windows Form

Connessione ai dati in Visual Studio

Preparazione dell'applicazione al ricevimento di dati

Recupero di dati nell'applicazione

Modifica di dati nell'applicazione

Convalida dei dati

Salvataggio di dati