TfrxFRContainer
Jest to kontrolka pozwalająca zagnieżdżać w ramach jednego FastReportu inne raporty FastReport jako otwieralne okna.
Zagnieżdżony raport można otworzyć klikając dwukrotnie na kontrolce frxWPContainer. Właściwości: Property SaveResultingDoc
Czy zapisywać dokument de sekcji wizualizacji. Jeśli dokument jest zapisany, wówczas system przy otwieraniu dokumentu zaczytuje zapisany dokument. Jeśli nie jest zapisany, wówczas jego zawartość jest budowana na podstawie danych zapisanych w sekcji dane dokumentu XML Property MainContainer
Czy aktualny container jest źródłem głównego dokumentu. W ramach jednego formularza może być tylko jeden MainContainer (niezależnie, czy typu WP, czy FR) property WndShowFunctionButtons
Czy mają być widoczne klawisze funkcyjne property WndShowConfirmButtons
Czy mają być widoczne klawisze zatwierdzenia/cofania zatwierdzania grupy pól property WndSizeAndPosition
Określa wygląd i pozycję otwieranego okna:
wspMaximize - okno ma być otwarte na cały ekran
wspScreenCenter - rozmiar domyślny; pozycjonowane na środku ekranu
wspDialog - okno w formie okna dialogowego – bez możliwości zmiany rozmiaru. Tekst skalowany tak samo, jak w oknie macierzystym. Formularz centrowany na ekranie
wspCombo - jak wspDialog, ale prezentowane jak combo poniżej aktywnego pola edycyjnego. Okno nie zawiera belki z nazwą okna. property WndCaption
Nazwa okna Funkcje: procedure GenerateDocument(ASID : integer = 0) procedure GenerateDoc(ASID : string = ‘’)
- Generuje dokument - musi być wywołana podczas generowania raportu.
UWAGA:Obecnie do generowania dok. głównego należy wykorzystać globalną funkcję: WPGenerateDocument zamiast tej metody. Aby z tego skorzystać należy ustawić własność: MainContainer.
ASID oznacza SID wszystkich pól na otwieranym formularzu. Ma zastosowanie do otwierania okien dialogowych z różnymi SID (wówczas jest wywoływana wewnętrznie przez OpenDocument)
procedure SetActiveFrame(ASID : string)
Funkcja określa nazwę (SID) formularza, którego będą dotyczyły kolejne odwołania. Dotyczy operacji wykonywanych na oknach dodatkowych - dialogowych tworzonych z podaniem ASID. Podczas otwoerania i generowania takiego okna funkcja ta jest automatycznie wykonywana. Stąd wszystkie odwołania będą dotyczyły ostatnio otwartego okna. Jeśli chcemy wykonać operację na innym (zamkniętym) oknie, wówczas należy wykonać funckję SetActiveFrame. procedure OpenDocument(ASID : integer = 0) procedure OpenDoc(ASID : string = ‘’)
- Otwiera okno dialogowe – w zależności od tego, czy otwieramy je po raz pierwszy, czy nie wywołuje GenerateDocument(ASID).
ASID oznacza SID wszystkich pól na otwieranym formularzu. Ma zastosowanie do otwierania okien dialogowych z różnymi SID – na przykład okien dla poszczególnych rekordów w „rosnącej” tabeli.
Generalnie wszystkie dokumenty tworzone w ramach jednego raportu należy traktować jako wspólny zbiór pól – jeśli dane pole występuje w kilku formularzach, to zmiana jego wartości powoduję zmianę we wszystkich formularzach. To samo dotyczy odczytu wartości funkcja GetFieldValue – otrzymamy wartość pola niezależnie na jakim formularzu się znajduje. function GetFieldValue(ANazwa : string) : string
- odczytyje wartość wskazanego pola (nie działa dla CheckBoxów)
- wstawia wartość do wskazanego pola ; Zwraca true, gdy zmieniono wartość
Dla CheckBoxów nalezy nadawać wartość taką, jak wynika z definicji checkboxa. Zmiana wartości pola powoduje jego zmianę we wszystkich wystąpieniach pola w całym dokumencie (wszystkich formularzach). Pola z różnymi wartościami SID są innymi polami. Function ChkRights(ARights : string):boolean
Sprawdza, czy zalogowany użytkownik ma którekolwiek z uprawnień z listy ARights function BandProtect(ANazwa : string; AProtect string = ‘D’) : boolean
Włącza/wyłącza protekcję wstęgi o nazwie ANazwa. Dopuszczalna jest nazwa Nazwa*
Powoduje to zabezpieczenie/odbezpieczenie wszystkich wstęg o nazwie zaczynającej się na słowo Nazwa. Zabezpieczenie polega na odpowiedniej zmianie parametru Editable kontrolek edycyjnych znajdujących się na danej wstędze.
Gdy ANazwa = *, wówczas funkcja dotyczy wszystkich wstęg w dokumencie.
AProtect może zawierać:
T – zabezpiecz przed edycją;
N – nie zabezpieczaj,
D – zastosuj domyślne uprawnienia dla danej wstęgi – zależnie od wpisów w kontrolce sterującej uprawnieniami, którą należy postawić na danej wstędze.
String z listą uprawnień wymaganych do edycji. Wówczas system ocenia, czy zabezpieczyć, czy nie
function BandGetRights(AName : string) : string
Zwraca string opisujący uprawnienia edycji wskazanej wstęgi. function ExtractName(AName : string) : string
Zwraca nazwę pola z podanej nazwy (po odcięciu ewentualnego SID) function ExtractSID(AName : string) : string
Zwraca SID z nazwy (np. z AName = ‘POLE10$7’ zwraca ‘7’; UWAGA: z AName= ‘POLE10$0’ zwraca ‘’) function ExtractNumericSID(AName : string) : integer
Zwraca część numeryczną SID z nazwy rozumianą jako liczba na końcu nazwy (np. z AName = ‘POLE10$kawalek_sid17’ zwraca 17.
Jeśli nie ma części numerycznej – zwraca 0. function GetDocName: string
Zwraca nazwę aktualnie otwartego okna. Zwykle odpowiada nazwie WPContainera, ale może być rozszerzona o SID - np. okno$2.
Konstrukcja:
wpc.ExtractSID(wpc.GetDocName)
pozwala uzyskać informację o aktualnym SID formularza. function GetDocReadRights : string
Zwraca string uprawnień odczytu całego raportu function GetDocEditRights : string
Zwraca string uprawnień edycji całego raportu function CurrentEditField: TfrxMemoEdit
Zwraca obiekt pola, w którym znajduje się kursor. Na podstawie obiektu można dowiedzieć się np. jego nazwy: CurrentEditField.ResultField
procedure MoveToField(AField: TfrxMemoEdit)
Przenosi kursor do wskazanego pola. Aby przejść do pola o podanej nazwie należy najpierw wykonać funkcję FindEditField function MoveToNextField(AFrom_start: Boolean = FALSE): TfrxMemoEdit
Przenosi kursor do kolejnego pola. Zwraca nazwę nowego pola. function MoveToPreviousField(AFrom_end: Boolean = FALSE): TfrxMemoEdit
Przenosi kursor do poprzedniego pola. Zwraca nazwę nowego pola. function SelectFieldAtCP: Boolean
Zaznacza treść pola, w którym znajduje się kursor function FindObject(AName : string) : TfrxView
Szuka obiektu o podanej nazwie w całym formularzu. Jeśli np. obiekt jest polem edycyjnym, to by dostać się do jego właściwości można zastosować castoeanie. Np.:
ShowMessage(TfrxMemoEdit (FindObject(‘jakas_nazwa’)).ResultField);
TfrxMemoEdit (FindObject(‘jakas_nazwa’)).Color := $FFFFFF function FindEditField(AName : string) : TfrxMemoEdit
Podobnie do FindObject, ale nazwa oznacza ResultField, a więc w istocie nazwę pola. function FindCheckBox(AName : string) : TfrxCheckBoxEdit
Podobnie do FindObject, ale nazwa oznacza ResultField, a więc w istocie nazwę pola. function GetDropListValue(AField : string; ACode : string) : string
Funckja zwraca Wartość odpowiadającą kodowi Acode w liście popup dla pola AField function GetDropListCode(AField : string; AValue : string) : string
Funkcja zwraca Kod odpowiadający wartośći AValue w liście popup dla pola AField procedure SaveFieldsToXML
Funkcja zapisuje pola z aktualnego subdokumentu reprezentowanego przez
aktualny frxFRContainer do XMLa dokumentu.
Zdarzenia:
FieldClickEvent
po kliknięciu na pole (dowolne – stąd wstawiając dowolne pola można symulować klawisze) - podaje ResultField jako nazwę pola. Dla pól innych, niż pola MemoEdit i CheckBoxEdit zwraca rzeczywistą nazwę pola. property OnFieldGetData
Podczas inicjacji dokumentu – umożliwia
wprowadzanie wartości domyślnych.
Podczas inicjowana dokumentu wartość pola
jest wypełniana wartością pola pochodzącą z innych formularzy dokumentu. Jeśli
nigdzie nie ma tego pola, wówczas jest odczytywana wartość z sekcji dane XML.
Jeśli i tu nie zostanie odnaleziona, wówczas jest generowana na podstawie
wyrażenia wartości domyślnej i kierowana do tego zdarzenia. Wartość zwrócona
przez to zdarzenie jest wstawiana do inicjowanego pola.
UWAGA: Obecnie preferowane jest analogiczne zdarzenie komponentu: TfrxDoc.
Jeśli jest ono przypisane, wówczas opisywane zdarzenie nie jest wywoływane. property OnBeforeSaveDocumentEvent
Wykonywane przez zapisem dokumentu do bazy property OnFieldExitEvent
Wywoływane podczas opuszczania pola edycyjnego property OnFieldEnterEvent
Wywoływane podczas wchodzenia do pola edycyjnego property OnChangeFieldEvent
Wywoływana podczas zmiany wartości pola. Jeśli pole występuje w kilku formularzach dokumentu, to może być wywołane w kilku Containerach.
UWAGA: Patrz na opis TfrxDoc.OnBeforeChangeFieldEvent property OnFillDropListEvent
- przed wypełnieniem listy combo kontrolki na formularzu.
Poprzez zmianę parametrów Type, List i ListData.
możliwa jest pełna kontrola nad zawartością combo.
Typ jest analogiczny do wypełnianych w definicji pola:
S - Na podstawie szablonu
Z - Na podstawie zapytania SQL
E - Na podstawie gotowej listy z systemu
Zależnie do pola wartości Typ – ListData zawiera zapytanie SQL zwracające dane, lub listę wartości do umieszczenia w combo. property OnOpenDocEvent
Wykonywane podczas otwierania formularza dokumentu (każdego okna).
AFirstOpen – czy jest to pierwsze otwarcie dokumentu do edycji od czasu wygenerowania. W rzeczywistości jest ustawione na True przy pierwszym OnOpenDocEvent po wykonaniu funkcji GenerateDocument.
AEditing – oznacza, czy dokument jest otwierany do edycji, czy odczytu.
ErrorMessage – można tu podać wiadomość, która zostanie zaprezentowana jako błąd.