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
Progetti a livello di applicazione
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
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 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
Sviluppo di componenti aggiuntivi a livello di applicazione per Excel
Aggiunta di controlli ai documenti di Office in fase di esecuzione
Informazioni sulla persistenza di ordini di colonne e righe ListObject