Procedura: eseguire il mapping delle colonne ListObject ai dati
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 eseguire il mapping delle colonne che si desidera visualizzare nell'oggetto ListObject quando si chiama il metodo SetDataBinding.
Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Excel 2007 ed Excel 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.
Per una dimostrazione video correlata, vedere la procedura relativa alla creazione di un elenco in Excel connesso a un elenco di SharePoint.
Mapping delle colonne
Per eseguire il mapping di una tabella dati alle colonne di un elenco
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");
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");
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 esegue il mapping di 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
Aggiunta di controlli ai documenti di Office in fase di esecuzione
Automazione di Excel utilizzando oggetti estesi