Поделиться через


Сопоставление столбцов ListObject с данными

При привязке элемента управления ListObject к DataTableвы можете не захотеть отображать все столбцы в списке или можете иметь некоторые столбцы, не привязанные к данным. Можно указать, какие столбцы должны отображаться в объекте ListObject , при вызове метода SetDataBinding .

Область применения. Сведения в этом разделе относятся к проектам уровня документа и проектам надстроек VSTO для Excel. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

Сопоставить столбцы

Сопоставление таблицы данных со столбцами в списке

  1. Создайте DataTable на уровне класса.

    System.Data.DataTable table = new System.Data.DataTable("Employees");
    
  2. Добавьте примеры столбцов и данных в Startup обработчик Sheet1 событий класса (в проекте уровня документа) или ThisAddIn классе (в проекте надстройки VSTO).

    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. Вызовите метод SetDataBinding и передайте в него имена столбцов в порядке их отображения. Объект списка будет привязан к только что созданному DataTableобъекту, но порядок столбцов в объекте списка будет отличаться от порядка, который они отображаются в DataTable.

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

Указание несопоставленных столбцов

При сопоставлении столбцов с DataTableможно также указать, что определенные столбцы не должны быть привязаны к данным, передав пустую строку. Затем новый столбец, не привязанный к данным, добавляется в элемент управления ListObject .

Указание несопоставленного столбца при сопоставлении столбцов ListObject

  1. Вызовите метод SetDataBinding и передайте в него имена столбцов в порядке их отображения. Используйте пустую строку, чтобы указать, где добавляется несопоставленный столбец; в данном случае такой столбец добавляется между столбцом заголовка столбца и столбцом фамилии.

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

Компиляция кода

В этом примере кода предполагается, что в листе, в котором этот код появляется, имеется существующий элемент управления ListObject с именем list1 .