Como: mapear ListObject colunas para dados
Quando você associa um controle de ListObject a DataTable, você não pode desejar exibir todas as colunas em uma lista, ou você pode ter algumas colunas que não são associadas a dados.Você pode mapear colunas que você deseja que apareça em ListObject quando você chama o método de SetDataBinding .
Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de nível de aplicativo para Excel 2013 e Excel 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.
Para uma demonstração de vídeo relacionada, consulte Como: eu faço Crie uma lista do excel que é conectado a uma lista do SharePoint?.
Colunas de mapeamento
Para mapear uma tabela de dados para colunas em uma lista
Crie DataTable a nível de classe.
Dim table As System.Data.DataTable = New System.Data.DataTable("Employees")
System.Data.DataTable table = new System.Data.DataTable("Employees");
Adicione colunas e dados de exemplo no manipulador de eventos de Startup da classe de Sheet1 (em um projeto de um documento) ou nível de classe de ThisAddIn (em um projeto de nível.)
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");
Chame o método e a varredura de SetDataBinding em nomes de coluna na ordem em que eles devem aparecer.O objeto de lista será associado a DataTablerecém-criado, mas a ordem das colunas no objeto de lista diferirá de ordem em que aparecem em DataTable.
Me.List1.AutoSetDataBoundColumnHeaders = True Me.List1.SetDataBinding(table, "", "Title", "LastName", "FirstName")
this.list1.AutoSetDataBoundColumnHeaders = true; this.list1.SetDataBinding(table, "", "Title", "LastName", "FirstName");
especificando colunas Unmapped
Quando você mapear colunas a DataTable, você também pode especificar que determinadas colunas não devem ser associadas a dados passando em uma cadeia de caracteres vazia.Uma nova coluna que não é associada a dados é adicionada para o controle de ListObject .
Para especificar uma coluna unmapped para mapear colunas de ListObject
Chame o método e a varredura de SetDataBinding em nomes de coluna na ordem em que eles devem aparecer.use uma cadeia de caracteres vazia para indicar onde uma coluna unmapped é adicionada; em esse caso, entre a coluna de título e a coluna do sobrenome.
Me.List1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName")
this.list1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName");
Compilando o código
Este exemplo de código a seguir pressupõe que tem ListObject existente chamado list1 na planilha em que esse código aparece.
Consulte também
Tarefas
Como: preencher ListObject controles com dados
Conceitos
Adicionar controles a documentos do Office em tempo de execução
Automatizar o Excel usando o Extended objetos