Compartilhar via


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

  • O Excel 2007

  • O Excel 2003

Projetos de nível de aplicativo

  • O Excel 2007

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

  1. 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");
    
  2. 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");
    
  3. 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

Estendendo os documentos do Word e Excel pastas de trabalho no nível de aplicativo Adicionar-ins em tempo de execução

Desenvolvimento de Adicionar-in de aplicativo-nível do Excel

Adicionar controles a documentos do Office em tempo de execução

Controlarar de ListObject

Noções básicas sobre ListObject coluna e linha de ordem de persistência

Outros recursos

Controles em documentos do Office

Controles de host do Excel