Udostępnij za pośrednictwem


Jak: mapowanie kolumn ListObject do danych

Kiedy wiązania ListObject kontroli do DataTable, nie warto wyświetlić wszystkie kolumny na liście, lub może mieć pewnych kolumn, które nie są związane z danymi.Można mapować kolumny, które mają się pojawiać w ListObject po wywołaniu SetDataBinding metoda.

Dotyczy: Informacje przedstawione w tym temacie dotyczą projektów na poziomie dokumentu i projektów na poziomie aplikacji dla programów Excel 2013 i Excel 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacji pakietu Office i typ projektu.

łącze do wideo Aby wyświetlić pokrewne wideo demonstracyjne, zobacz jak: utworzyć listę programu Excel, który jest połączony z listą programu SharePoint?.

Mapowanie kolumn

Aby mapować tabelę danych do kolumn na liście

  1. Tworzenie DataTable na poziomie klasy.

    Dim table As System.Data.DataTable = New System.Data.DataTable("Employees")
    
    System.Data.DataTable table = new System.Data.DataTable("Employees");
    
  2. Dodaj próbki kolumn i danych w Startup obsługi zdarzeń z Sheet1 klasy (w projekcie poziomie dokumentu) lub ThisAddIn klasy (w projekcie poziomie aplikacji).

    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. Wywołanie SetDataBinding metoda i przebieg w nazw kolumn w kolejności, powinien pojawić się.Obiekt listy będą zobowiązane do nowo utworzonego DataTable, ale kolejność kolumn w obiekcie listy będzie różnić się od kolejności pojawiają się w DataTable.

    Me.List1.AutoSetDataBoundColumnHeaders = True
    Me.List1.SetDataBinding(table, "", "Title", "LastName", "FirstName")
    
    this.list1.AutoSetDataBoundColumnHeaders = true;
    this.list1.SetDataBinding(table, "", "Title", "LastName", "FirstName");
    

Określanie kolumny niezamapowane

Podczas mapowania kolumn do DataTable, można również określić, że niektóre kolumny powinna nie jest zobowiązany do danych przekazując ciąg pusty.Nowa kolumna, która nie jest związana z danymi jest następnie dodany do ListObject kontroli.

Aby określić kolumna niezamapowani podczas mapowania kolumny obiektu ListObject

  • Wywołanie SetDataBinding metoda i przebieg w nazw kolumn w kolejności, powinien pojawić się.Użyj ciąg pusty, aby wskazać, gdzie niezamapowani kolumna zostanie dodana; w tym przypadku między kolumną tytuł i nazwisko.

    Me.List1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName")
    
    this.list1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName");
    

Kompilowanie kodu

W tym przykładzie kodu zakłada istniejące ListObject o nazwie list1 w arkuszu, w którym pojawia się ten kod.

Zobacz też

Zadania

Jak: wypełnienia formantów ListObject z danymi

Koncepcje

Rozszerzanie dokumenty programu Word oraz skoroszyty programu Excel w dodatki poziomie aplikacji w czasie wykonywania

Dodawanie formantów do dokumentów pakietu Office w czasie wykonywania

Automatyzowanie programu Excel przy użyciu obiektów rozszerzony

Formant ListObject

Inne zasoby

Kontrole dokumentów pakietu Office