Для работы с таблицей данных предназначен интерфейс 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;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
Report: IPrxReport;
Table: ITabSheet;
Begin
// Получаем текущий репозиторий
mb := Params.Metabase;
// Получаем регламентный отчет
Report := mb.ItemById["REPORT_TAB"].Bind() As IPrxReport;
// Получаем таблицу
Table := (Report.ActiveSheet As IPrxTable).TabSheet;
End Sub;
Приведен пример получения таблицы из экспресс-отчета с идентификатором «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;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Tab;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
Report: IEaxAnalyzer;
Table: ITabSheet;
Begin
// Получаем текущий репозиторий
mb := Params.Metabase;
// Получаем экспресс-отчет
Report := mb.ItemById["OLAP_TAB"].Bind() As IEaxAnalyzer;
// Получаем таблицу
Table := Report.Grid.TabSheet;
End Sub;
Приведен пример получения таблицы с помощью компонента 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;
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Tab;
…
Private Sub GetTable();
Var
mb: IMetabase;
Table: ITabSheet;
Begin
// Получаем текущий репозиторий
mb := Self.Metabase;
// Указываем экспресс-отчет в качестве источника данных для uiErAnalyzerNet1
uiErAnalyzerNet1.Object := mb.ItemById["OLAP_TAB"];
// Указываем uiErAnalyzerNet1 в качестве источника данных для tabSheetBoxNet1
tabSheetBoxNet1.Source := uiErAnalyzerNet1.ErAnalyzer As ITabSheetSource;
// Активируем uiErAnalyzerNet1
uiErAnalyzerNet1.Active := True;
// Получаем таблицу
Table := tabSheetBoxNet1.Source.GetTabSheet();
End Sub;
Для выполнения примера предполагается наличие формы, содержащей компоненты 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;
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Tab;
…
Private Sub GetTable();
Var
mb: IMetabase;
Table: ITabSheet;
Begin
// Получаем текущий репозиторий
mb := Self.Metabase;
// Указываем регламентный отчет в качестве источника данных для uiReportNet1
uiReportNet1.Object := mb.ItemById["REPORT_TAB"];
// Указываем uiReportNet1 в качестве источника данных для tabSheetBoxNet1
tabSheetBoxNet1.Source := uiReportNet1.ReportUi As ITabSheetSource;
// Активируем uiReportNet1
uiReportNet1.Active := True;
// Получаем таблицу
Table := tabSheetBoxNet1.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;
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Tab;
…
Private Sub GetTable();
Var
mb: IMetabase;
Table: ITabSheet;
Begin
// Получаем текущий репозиторий
mb := Self.Metabase;
// Указываем uiTabSheetNet1 в качестве источника данных для tabSheetBoxNet1
tabSheetBoxNet1.Source := uiTabSheetNet1.TabSheetUi As ITabSheetSource;
// Получаем таблицу
Table := tabSheetBoxNet1.Source.GetTabSheet();
End Sub GetTable;
См. также: