Tag |
Top Previous Next |
Tag:Integer
značka, každá buňka i komponenta obsahuje property Tag. Využití si ukážeme na následujícím příkladu:
Tento příklad demonstruje dynamické vkládání a mazání řádků a sloupců reportu a vkládání nových listů. Report obsahuje 5 tlačítek tlačítko InsCol má property Tag nastavenu na 1, tlačítko InsRow má property Tag=2 atd. viz skript. Tímto způsobem můžeme všem tlačítkům nastavit jednu událost OnClick a chování potom řídit pomocí property Tag
procedure ButtonOnClick(Sender: TObject); begin case TButton(Sender).Tag of 1 : Sheet.InsertCol(Sheet.ColCount); 2 : Sheet.InsertRow(Sheet.RowCount); 3 : If (Sheet.ColCount>4) then Sheet.DeleteCol(Sheet.ColCount-1); 4 : If (Sheet.RowCount>4) then Sheet.DeleteRow(Sheet.RowCount-1); 5 : ReportProperty.NewSheet; end; end;
// Priradi Eventy componentam procedure OnPrepareScript(Sender : TReportProperty); begin TButton(Sheet.GetCellProperty('A1').CellComponent).OnClick:=@ButtonOnClick; TButton(Sheet.GetCellProperty('A2').CellComponent).OnClick:=@ButtonOnClick; TButton(Sheet.GetCellProperty('B1').CellComponent).OnClick:=@ButtonOnClick; TButton(Sheet.GetCellProperty('B2').CellComponent).OnClick:=@ButtonOnClick; TButton(Sheet.GetCellProperty('B3').CellComponent).OnClick:=@ButtonOnClick; end;
begin end.
|