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


Элемент управления ListObject

Обновлен: Июль 2008

Применение

Сведения в данном разделе относятся только к указанным проектам Visual Studio Tools for Office и версиям приложений Microsoft Office.

Проекты уровня документа

  • Excel 2007

  • Excel 2003

Проекты уровня приложения

  • Excel 2007

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

Элемент управления ListObject представляет собой список с событиями и возможностью привязки к данным. При добавлении списка на лист Visual Studio Tools for Office создает элемент управления ListObject, который можно программировать непосредственно, не обращаясь к объектной модели Microsoft Office Excel.

Создание элемента управления

Можно добавить элементы управления ListObject на лист Microsoft Office Excel в настройках на уровне документа во время разработки или во время выполнения. При использовании Visual Studio, начиная с версии 2008, пакет обновления 1 (SP1), можно добавлять ведущие элементы ListObject в надстройки уровня приложения во время выполнения. Дополнительные сведения см. в разделе Практическое руководство. Добавление элементов управления ListObject на листы.

2ttzcbhb.alert_note(ru-ru,VS.90).gifПримечание.

По умолчанию динамически созданные объекты списка не сохраняются как ведущие элементы управления на листе при его закрытии. Дополнительные сведения см. в разделе Добавление элементов управления в документы Office во время выполнения.

Привязка данных к элементу управления

Элемент управления ListObject поддерживает простую и сложную привязку данных. Элемент управления ListObject можно привязать к источнику данных с помощью свойств DataSource и DataMember во время разработки или с помощью метода SetDataBinding во время выполнения.

2ttzcbhb.alert_note(ru-ru,VS.90).gifПримечание.

Если элемент управления ListObject привязан к источнику данных, например к объекту DataTable, при изменении данных в котором возникают события, он обновляется автоматически. Если элемент управления ListObject привязан к источнику данных, при изменении данных в котором события не возникают, то для обновления элемента управления ListObject необходимо вызвать метод RefreshDataRow или RefreshDataRows.

При добавлении в ячейку листа элемента управления ListObject путем сопоставления этой ячейке повторяющегося элемента схемы Visual Studio Tools for Office автоматически сопоставляет элемент управления ListObject созданному набору данных. Однако элемент управления ListObject не привязывается к данным автоматически. Можно привязать элемент управления ListObject к набору данных в проекте уровня документа во время разработки или во время выполнения. В Visual Studio, начиная с версии 2008, пакет обновления 1 (SP1) можно программным способом выполнить привязку элемента управления ListObject к набору данных в надстройке уровня приложения во время выполнения.

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

Чтобы быстро заполнить элемент управления ListObject данными, привяжите его к источнику данных. При изменении данных в привязанном к данным элементе управления ListObject эти изменения автоматически вносятся в источник данных. Если необходимо заполнить данными элемент управления ListObject и разрешить пользователю изменять данные в элементе управления ListObject, не изменяя при этом источник данных, вызовите метод Disconnect, чтобы отключить элемент управления ListObject от источника данных. Дополнительные сведения см. в разделе Практическое руководство. Заполнение данными элементов управления ListObject.

2ttzcbhb.alert_note(ru-ru,VS.90).gifПримечание.

Привязка данных не поддерживается для перекрывающихся элементов управления ListObject.

Увеличение производительности в элементах управления ListObject

Если сначала был привязан элемент управления ListObject, а затем вызван метод ReadXml для заполнения набора данных, то считывание XML-файла в этот элемент управления происходит довольно медленно. Для улучшения производительности рекомендуется сначала вызывать метод ReadXml, а потом привязывать элемент управления.

Отключение элементов управления ListObject от источника данных

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

Форматирование

Форматирование, применяемое к элементу Microsoft.Office.Interop.Excel.ListObject, можно применять и к элементу управления Microsoft.Office.Tools.Excel.ListObject. Это относится к границам, шрифтам, числовому формату и стилям. Конечные пользователи могут изменять порядок столбцов в привязанном к данным элементе управления ListObject, и эти изменения останутся в документе при условии, что элемент управления ListObject был добавлен в документ во время разработки. При следующем открытии документа объект списка будет привязан к тому же источнику данных, однако порядок столбцов будет соответствовать внесенным пользователем изменениям.

Добавление и удаление столбцов во время выполнения

Во время выполнения нельзя вручную добавлять или удалять столбцы из привязанного к данным элемента управления ListObject. Если конечный пользователь попытается удалить столбец, этот столбец будет сразу же восстановлен, а добавленные столбцы будут удалены. Таким образом, важно написать код, объясняющий пользователям, почему нельзя выполнять подобные действия для привязанного к данным элемента управления ListObject. В Visual Studio Tools for Office для элемента управления ListObject имеется несколько событий, относящихся к привязке данных. Например, событие OriginalDataRestored можно использовать для предупреждения пользователей о том, что данные, которые они пытаются удалить, удалять нельзя, и поэтому такие данные будут восстановлены.

Добавление и удаление строк во время выполнения

В привязанный к данным элемент управления ListObject можно вручную добавлять и удалять строки при условии, что источник данных позволяет добавлять новые строки и не предназначен только для чтения. Для проверки данных можно написать обработчик событий, например BeforeAddDataBoundRow, а для повторной попытки после исправления ошибки — обработчик событий ErrorAddDataBoundRow.

Дополнительные сведения см. в разделах Практическое руководство. Обработка данных при добавлении новой строки в элемент управления ListObject и Практическое руководство. Обработка ошибок, происходящих при добавлении новой строки в элемент управления ListObject.

Переименование элементов управления ListObject в Excel 2007

Приложение Excel 2007 позволяет пользователям переименовывать таблицы Excel во время выполнения с помощью вкладки Конструктор. Однако элемент управления ListObject не поддерживает эту возможность. Если пользователь пытается переименовать таблицу Excel, соответствующую элементу управления ListObject, при сохранении книги этой таблице автоматически присваивается исходное имя.

2ttzcbhb.alert_note(ru-ru,VS.90).gifПримечание.

В приложении Excel 2007 списки Excel называются таблицами Excel.

События

Для элемента управления ListObject доступны следующие события:

См. также

Задачи

Практическое руководство. Добавление элементов управления ListObject на листы

Практическое руководство. Изменение размера элементов управления ListObject

Практическое руководство. Обработка данных при добавлении новой строки в элемент управления ListObject

Практическое руководство. Обработка ошибок, происходящих при добавлении новой строки в элемент управления ListObject

Практическое руководство. Сопоставление столбцов элемента управления ListObject данным

Практическое руководство. Заполнение данными элементов управления ListObject

Пример динамических элементов управления надстройками Excel

Практическое руководство. Заполнение листов данными из базы данных

Основные понятия

Основные сведения о сохранении порядка столбцов и строк ListObject.

Привязка данных к элементам управления

Расширение документов Word и книг Excel в надстройках уровня приложения во время выполнения

Разработка надстроек уровня приложения для Excel

Добавление элементов управления в документы Office во время выполнения

Программные ограничения ведущих элементов и элементов управления ведущего приложения

Другие ресурсы

Элементы управления ведущего приложения Excel

Элементы управления ведущего приложения Word

Элементы управления в документах Office

Журнал изменений

Дата

Журнал

Причина

Июль 2008

Дополнительные сведения об использовании элементов управления объектом списка в надстройке уровня приложения.

Изменение функции SP1.