Получение таблицы

Для работы с таблицей данных предназначен интерфейс ITabSheet.

В данном разделе приведены различные способы получения таблицы:

Получение таблицы из регламентного отчета

Приведен пример получения таблицы из регламентного отчета с идентификатором «REPORT_TAB».

Пример

Для выполнения примера добавьте ссылки на системные сборки: Metabase, Report, Tab.

Sub GetTable;
Var
    mb: IMetabase;
    Report: IPrxReport;
    Table: ITabSheet;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Получаем регламентный отчет
    Report := mb.ItemById("REPORT_TAB").Bind As IPrxReport;
    // Получаем таблицу
    Table := (Report.ActiveSheet As IPrxTable).TabSheet;
End Sub GetTable;

Получение таблицы из экспресс-отчета

Приведен пример получения таблицы из экспресс-отчета с идентификатором «OLAP_TAB».

Пример

Для выполнения примера добавьте ссылки на системные сборки: Express, Metabase, Tab.

Sub GetTable;
Var
    mb: IMetabase;
    Report: IEaxAnalyzer;
    Table: ITabSheet;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Получаем экспресс-отчет
    Report := mb.ItemById("OLAP_TAB").Bind As IEaxAnalyzer;
    // Получаем таблицу
    Table := Report.Grid.TabSheet;
End Sub GetTable;

Получение таблицы с помощью компонента TabSheetBox

Приведен пример получения таблицы с помощью компонента TabSheetBox.

Источник данных - экспресс-отчет

Для выполнения примера предполагается наличие формы, содержащей компоненты TabSheetBox с идентификатором «TabSheetBox1» и UiErAnalyzer с идентификатором «UiErAnalyzer1». В репозитории предполагается наличие экспресс-отчета «OLAP_TAB».

Добавьте ссылку на системную сборку Metabase.

Пример

Sub GetTable;
Var
    mb: IMetabase;
    Table: ITabSheet;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Указываем экспресс-отчет в качестве источника данных для UiErAnalyzer1
    UiErAnalyzer1.Object := mb.ItemById("OLAP_TAB");
    // Указываем UiErAnalyzer1 в качестве источника данных для TabSheetBox1
    TabSheetBox1.Source := UiErAnalyzer1 As ITabSheetSource;
    // Активируем UiErAnalyzer1
    UiErAnalyzer1.Active := True;
    // Получаем таблицу
    Table := TabSheetBox1.Source.GetTabSheet;
End Sub GetTable;

Источник данных - регламентный отчет

Для выполнения примера предполагается наличие формы, содержащей компоненты TabSheetBox с идентификатором «TabSheetBox1» и UIReport с идентификатором «UiReport1». В репозитории предполагается наличие регламентного отчета с идентификатором «REPORT_TAB».

Пример

Добавьте ссылку на системную сборку Metabase.

Sub GetTable;
Var
    mb: IMetabase;
    Table: ITabSheet;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Указываем регламентный отчет в качестве источника данных для UiReport1
    UiReport1.Object := mb.ItemById("REPORT_TAB");
    // Указываем UiReport1 в качестве источника данных для TabSheetBox1
    TabSheetBox1.Source := UiReport1 As ITabSheetSource;
    // Активируем UiReport1
    UiReport1.Active := True;
    // Получаем таблицу
    Table := TabSheetBox1.Source.GetTabSheet;
End Sub GetTable;

Источник данных - таблица, не привязанная к репозиторию

Компонент UiTabSheet позволяет создавать таблицы, не привязанные к источникам данных из репозитория.

Для выполнения примера предполагается наличие формы, содержащей компоненты TabSheetBox с идентификатором «TabSheetBox1» и UiTabSheet с идентификатором «UiTabSheet1».

Пример

Добавьте ссылку на системную сборку Metabase.

Sub GetTable;
Var
    mb: IMetabase;
    Table: ITabSheet;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Указываем UiTabSheet1 в качестве источника данных для TabSheetBox1
    TabSheetBox1.Source := UiTabSheet1 As ITabSheetSource;
    // Получаем таблицу
    Table := TabSheetBox1.Source.GetTabSheet;
End Sub GetTable;

См. также:

Общие принципы программирования с использованием сборки Tab