Como: Mapear ListObject colunas para dados
Se aplica a |
---|
As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office. Projetos de nível de documento
Projetos de nível de aplicativo
For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto. |
Quando você acoplar um Controlarar de ListObject para um DataTable, talvez você não queira exibir Tudo as colunas em uma lista ou você pode ter determinadas colunas que não são Ligado aos dados.Você pode mapear quais colunas que deseja Aparecerr no ListObject quando você chamar o método SetDataBinding.
Mapeamento de colunas
Para mapear uma tabela de dados para colunas em uma lista
Criar o DataTable no nível de classe.
Dim table As System.Data.DataTable = New System.Data.DataTable("Employees")
System.Data.DataTable table = new System.Data.DataTable("Employees");
Adicionar colunas e dados no manipulador de eventos Startup da classe Sheet1 (em um projeto de nível de documento) ou classe de ThisAddIn (em um projeto de nível de aplicativo) de exemplo.
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 SetDataBinding e passe nos nomes de coluna na ordem em que eles devem Aparecerr.O objeto da lista será ligado ao recém-criado DataTable, mas a ordem das colunas no objeto de lista serão diferentes da ordem que eles Aparecer in the DataTable.
Me.List1.AutoSetDataBoundColumnHeaders = True Me.List1.SetDataBinding(table, "", "Title", "LastName", "FirstName")
this.list1.AutoSetDataBoundColumnHeaders = true; this.list1.SetDataBinding(table, "", "Title", "LastName", "FirstName");
Especificar colunas não mapeadas
Ao mapear colunas para um DataTable, você também pode especificar que determinadas colunas não devem ser Ligado dados passando uma Cadeia de Caracteres vazia.Uma Novo coluna que não Ligado aos dados, em seguida, é Adicionado ao Controlarar ListObject.
Para especificar uma coluna não mapeada quando o mapeamento de colunas de ListObject
Chame o método SetDataBinding e passe nos nomes de coluna na ordem em que eles devem Aparecerr.Use um Vazio Cadeia de Caracteres para indicar onde uma coluna não mapeada é Adicionado; Nesse maiúscminúsc, entre a coluna de título e Último coluna de nome.
Me.List1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName")
this.list1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName");
Compilando o código
Este exemplo de código assume que um existente ListObject chamado list1 na planilha em que esse código aparece.
Consulte também
Tarefas
Como: Preencher ListObject controles com dados
Conceitos
Desenvolvimento de Adicionar-in de aplicativo-nível do Excel
Adicionar controles a documentos do Office em tempo de execução
Noções básicas sobre ListObject coluna e linha de ordem de persistência