CreateExpander(Row: Integer; Column: Integer; Length; Integer; ExpanderKind: TabExpanderKind);
CreateExpander(Row: integer; Column: integer; Length; integer; ExpanderKind: Prognoz.Platform.Interop.Tab.TabExpanderKind);
Row. Индекс строки, в которой располагается ячейка с экспандером. Допустимое значение параметра находится в диапазоне [0;ITabSheet.RowsCount).
Column. Индекс столбца, в котором располагается ячейка с экспандером. Допустимое значение параметра находится в диапазоне [0; ITabSheet.ColumnsCount);
Length. Количество строк/столбцов, попадающих под действие экспандера. Параметр может принимать и отрицательные значения;
ExpanderKind. Тип знака иерархии.
Метод CreateExpander позволяет создать экспандер в ячейке, координаты которой передаются в качестве входных параметров Row и Column.
Если параметр Length принимает положительное значение, то экспандер раскрывается вниз и вправо, если отрицательное значение - то вверх и влево.
Для изменения пиктограммы экспандера используйте свойства ITabSheet.ExpanderOnPicture и ITabSheet.ExpanderOffPicture.
Для выполнения примера в репозитории предполагается наличие регламентного отчета с идентификатором «REP_TABSHEET». В файловой системе должны присутствовать два изображения: «C:/On.gif» и «C:/Off.gif».
Добавьте ссылки на системные сборки: Drawing, Metabase, Report, Tab.
Sub UserProc;
Var
MB: IMetabase;
Rep: IPrxReport;
SheetT: IPrxTable;
Tab: ITabSheet;
TImg: ITabImages;
ExpOn, ExpOff: Integer;
Begin
MB := MetabaseClass.Active;
Rep := MB.ItemById("REP_TABSHEET").Edit As IPrxReport;
SheetT := Rep.Sheets.Item(0) As IPrxTable;
Tab := SheetT.TabSheet;
Tab.CreateExpander(0, 0, 4, TabExpanderKind.Rows);
TImg := Tab.Images;
ExpOn := TImg.Add(GxImage.FromFile("C:/On.gif"));
ExpOff := TImg.Add(GxImage.FromFile("C:/Off.gif"));
Tab.ExpanderOnPicture := ExpOn;
Tab.ExpanderOffPicture := ExpOff;
(Rep As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера для свернутого и развернутого экспандера будут назначены новые пиктограммы, соответствующие изображениям «C:/On.gif» и «C:/Off.gif».
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Rep: IPrxReport;
SheetT: IPrxTable;
Tab: ITabSheet;
TImg: ITabImages;
ExpOn, ExpOff: Integer;
GxImg: GxImageClassClass = New GxImageClassClass.create();
Begin
MB := Params.Metabase;
Rep := MB.ItemById["REP_TABSHEET"].Edit() As IPrxReport;
SheetT := Rep.Sheets.Item[0] As IPrxTable;
Tab := SheetT.TabSheet;
Tab.CreateExpander(0, 0, 4, TabExpanderKind.tekRows);
TImg := Tab.Images;
ExpOn := TImg.Add(GxImg.FromFile("C:/On.gif"));
ExpOff := TImg.Add(GxImg.FromFile("C:/Off.gif"));
Tab.ExpanderOnPicture := ExpOn;
Tab.ExpanderOffPicture := ExpOff;
(Rep As IMetabaseObject).Save();
End Sub;
См. также: