Procedura: esplorare dati in Windows Form

Procedura: esplorare dati in Windows Form

Il modo più semplice di spostarsi tra i record di un'origine dati in un'applicazione Windows consiste nell'associare un componente BindingSource all'origine dati e poi nell'associare i controlli alla classe BindingSource. In seguito sarà possibile applicare il metodo di spostamento incorporato alla classe BindingSource, ad esempio MoveNext, MoveLast, MovePrevious e MoveFirst. Con questi metodi vengono adattate in maniera appropriata le proprietà Position e Current della classe BindingSource. È inoltre possibile trovare un elemento e impostarlo come elemento corrente impostando la proprietà Position.

Per incrementare la posizione in un'origine dati

  • Impostare la proprietà Position della classe BindingSource per i dati associati sulla posizione del record su cui spostarsi. Nell'esempio riportato di seguito viene illustrato l'utilizzo del metodo MoveNext della classe BindingSource per incrementare la proprietà Position quando si fa clic su nextButton. La classe BindingSource è associata alla tabella Customers di un dataset Northwind.

    NoteNota

    Se la proprietà Position viene impostata su un valore oltre il primo o l'ultimo record non viene generato alcun errore, perché .NET Framework non consente di impostare la posizione su un valore non incluso nelle associazioni dell'elenco. Se è importante che l'applicazione sia in grado di rilevare se è stato oltrepassato il primo o l'ultimo record, includere una logica per verificare se viene superato il numero degli elementi di dati.

    private void nextButton_Click(object sender, System.EventArgs e)
    {
        this.customersBindingSource.MoveNext();
    }
    
    

Per verificare se è stato superato il primo o l'ultimo elemento

  • Creare un gestore eventi per l'evento PositionChanged. Nel gestore eventi è possibile verificare se i valori della posizione proposta hanno superato il numero effettivo degli elementi di dati.

    Nell'esempio che segue viene illustrato come verificare se è stato raggiunto l'ultimo elemento di dati. Se ci si trova sull'ultimo elemento, il pulsante Avanti del form verrà disattivato.

    NoteNota

    Se si modifica l'elenco in cui ci si sposta nel codice, sarà necessario riattivare il pulsante Avanti in modo che gli utenti possano spostarsi all'interno di tutto il nuovo elenco. Inoltre, l'evento PositionChanged per la specifica classe BindingSource che si sta utilizzando deve essere associato al relativo metodo di gestione degli eventi. Di seguito viene riportato un esempio di metodo per la gestione dell'evento PositionChanged:

    void customersBindingSource_PositionChanged(object sender, EventArgs e)
    {
        if (customersBindingSource.Position == customersBindingSource.Count - 1)
            nextButton.Enabled = false;
        else
            nextButton.Enabled = true;
    }
    
    

Per trovare un elemento e impostarlo come elemento corrente

  • Trovare il record che si desidera impostare come elemento corrente. A tale scopo, utilizzare il metodo Find della classe BindingSource se l'origine dati implementa l'interfaccia IBindingList. Tra le origini dati di esempio che implementano l'interfaccia IBindingList sono annoverate BindingList e DataView.

    void findButton_Click(object sender, EventArgs e)
    {
        int foundIndex = customersBindingSource.Find("CustomerID", "ANTON");
        customersBindingSource.Position = foundIndex;
    }
    
    

Vedere anche

Aggiunte alla community

AGGIUNGI
Mostra:
© 2016 Microsoft