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.