Для работы с таблицей данных предназначен интерфейс ITabSheet.
В данном разделе приведены различные способы получения таблицы:
с помощью компонента TabSheetBox. Источником данных для компонента могут быть:
Приведен пример получения таблицы из регламентного отчета с идентификатором «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 с идентификатором «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;
См. также: