Condividi tramite


Procedura: mappare le colonne ListObject ai dati

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Progetti a livello di documento

  • Excel 2007

  • Excel 2003

Progetti a livello di applicazione

  • Excel 2007

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

In alcuni casi, quando si associa un controllo ListObject a un oggetto DataTable, occorre evitare di visualizzare tutte le colonne di un elenco oppure sono presenti alcune colonne non associate ai dati. È possibile mappare le colonne che si desidera visualizzare nell'oggetto ListObject quando si chiama il metodo SetDataBinding.

Mapping delle colonne

Per mappare una tabella dati alle colonne di un elenco

  1. Creare l'oggetto DataTable a livello di classe.

    Dim table As System.Data.DataTable = New System.Data.DataTable("Employees")
    
    System.Data.DataTable table = new System.Data.DataTable("Employees");
    
  2. Aggiungere colonne e dati di esempio nel gestore eventi Startup della classe Sheet1 (in un progetto a livello di documento) o della classe ThisAddIn (in un progetto a livello di applicazione).

    table.Columns.Add("Id", GetType(Int32))
    table.Columns.Add("FirstName", GetType(String))
    table.Columns.Add("LastName", GetType(String))
    table.Columns.Add("Title", GetType(String))
    
    table.Rows.Add(1, "Nancy", "Anderson", "Sales Representative")
    table.Rows.Add(2, "Robert", "Brown", "Sales Representative")
    
    table.Columns.Add("Id", typeof(int));
    table.Columns.Add("FirstName", typeof(string));
    table.Columns.Add("LastName", typeof(string));
    table.Columns.Add("Title", typeof(string));
    
    table.Rows.Add(1, "Nancy", "Anderson", "Sales Representative");
    table.Rows.Add(2, "Robert", "Brown", "Sales Representative");
    
  3. Chiamare il metodo SetDataBinding e passare i nomi delle colonne nell'ordine in cui sono visualizzate. L'oggetto elenco verrà associato all'oggetto DataTable appena creato, ma l'ordine delle colonne in tale oggetto sarà diverso da quello dell'oggetto DataTable.

    Me.List1.AutoSetDataBoundColumnHeaders = True
    Me.List1.SetDataBinding(table, "", "Title", "LastName", "FirstName")
    
    this.list1.AutoSetDataBoundColumnHeaders = true;
    this.list1.SetDataBinding(table, "", "Title", "LastName", "FirstName");
    

Indicazione di colonne non mappate

Quando si mappano colonne a un oggetto DataTable, passando una stringa vuota è possibile specificare che alcune colonne non devono essere associate ai dati. Una nuova colonna non associata ai dati viene quindi aggiunta al controllo ListObject.

Per specificare una colonna non mappata durante il mapping di colonne ListObject

  • Chiamare il metodo SetDataBinding e passare i nomi delle colonne nell'ordine in cui sono visualizzate. Utilizzare una stringa vuota per indicare il punto in cui viene aggiunta una colonna non mappata; in questo caso, tra la colonna del titolo e la colonna del cognome.

    Me.List1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName")
    
    this.list1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName");
    

Compilazione del codice

In questo esempio di codice si presume che sia già disponibile un controllo ListObject denominato list1 nel foglio di lavoro in cui appare il codice.

Vedere anche

Attività

Procedura: riempire controlli ListObject con dati

Concetti

Estensione in fase di esecuzione di documenti di Word e di cartelle di lavoro di Excel in componenti aggiuntivi a livello di applicazione

Sviluppo di componenti aggiuntivi a livello di applicazione per Excel

Aggiunta di controlli ai documenti di Office in fase di esecuzione

Controllo ListObject

Informazioni sulla persistenza di ordini di colonne e righe ListObject

Altre risorse

Controlli nei documenti di Office

Controlli host di Excel