Compartilhar via


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.

link para vídeo 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

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

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

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

Automatizar o Excel usando o Extended objetos

Controle de ListObject

Outros recursos

Controles em documentos do Office