WinUpdate
obj -> WinUpdate([int1[, int2]]) : int
Objekt aktualisieren
Details
- obj: Objekt
- int1: Update-Modus (siehe Text)
- int2: Optionen für RecList- und Frame-Objekte (siehe Text)
- Resultat:
intFehlerwert - Siehe: Verwandte Befehle ,
WinRvwUpdate ()
Mit diesem Befehl wird ein Objekt aktualisiert. Sind dem übergebenen Objekt weitere Objekte untergeordnet, werden diese ebenfalls aktualisiert. Sind in einem Fenster-Objekt RecList - oder DataList -Objekte enthalten, werden diese aus Performancegründen nicht aktualisiert. Diese Objekte müssen gesondert aktualisiert werden.
Wird ein RecList -Objekt übergeben, werden alle in dem Objekt angezeigten Datensätze neu gelesen. Bei allen anderen Objekten bewirkt WinUpdate() die Anzeige der mit dem Objekt (oder dessen Unterobjekte) verknüpften Datenbankfelder. Die gleiche Wirkung wird mit WinUpdate ( _WinUpdFld2Obj ) erzielt.
Folgende Parameter können als Update-Modus (int1) übergeben werden:
_WinUpdOn: Setzt dieAutoUpdate-Eigenschaft von (obj) auftrue_WinUpdOff: Setzt dieAutoUpdate-Eigenschaft von (obj) auffalse_WinUpdFld2Obj: Überträgt den Inhalt der Feldpuffer in das Objekt_WinUpdObj2Fld: Überträgt den Inhalt des Objektes in den Feldpuffer_WinUpdFld2Buf: Überträgt den Inhalt der Feldpuffer in den Datensatzpuffer des Objekts_WinUpdBuf2Obj: Überträgt den Inhalt des Textpuffers in das Objekt TextEdit_WinUpdObj2Buf: Überträgt den Inhalt des Objektes TextEdit in den Textpuffer_WinUpdActivate: Holt das Frame -Objekt in den Vordergrund_WinUpdAlwaysOnTopOn: Das Frame -Objekt wird immer im Vordergrund angezeigt (AlwaysOnTop)_WinUpdAlwaysOnTopOff: Das Frame -Objekt kann dadurch von anderen Fenstern wieder verdeckt werden (Aufhebung des AlwaysOnTop-Modus)_WinUpdState: Status setzen_WinUpdSort: DataList -Objekt neu sortieren
Die Konstanten können nicht miteinander kombiniert werden. Die Konstanten _WinUpdOff und _WinUpdOn können mit _WinUpdScrollPos kombiniert werden, um die Scrollposition zu speichern und wieder herzustellen.
Wird als Update-Modus (int1) _WinUpdOn mit der Konstanten _WinUpdScrollPos kombiniert, wird nur die Scrollposition wiederhergestellt. Zur Aktualisierung des Objektes muss WinUpdate () erneut mit _WinUpdOn aufgerufen werden.
Für die Objekte RecList , DataList , Frame und GanttGraph können weitere Optionen in (int2) angegeben werden.
Optionen für RecList- und DataList-Objekte (in (int1) muss einer der obigen Parameter angegeben werden):
_WinLstFromFirst: Neuaufbau der Liste ab der ersten Zeile_WinLstFromLast: Neuaufbau der Liste ab der letzten Zeile_WinLstRecFromBuffer: Neuaufbau der Liste ausgehend von den Werten des Feldpuffers_WinLstRecFromRecId: Neuaufbau der Liste ausgehend von der Datensatz-ID_WinLstFromSelected: Neuaufbau der Liste ausgehend von der selektierten Zeile_WinLstFromTop: Neuaufbau der Liste ab der ersten sichtbaren Zeile_WinLstPosTop: Selektierte Zeile wird oben in der Liste angezeigt_WinLstPosMiddle: Selektierte Zeile wird in der Mitte der Liste angezeigt_WinLstPosBottom: Selektierte Zeile wird unten in der Liste angezeigt_WinLstPosSelected: Selektierte Zeile behält die Position innerhalb der Liste_WinLstRecDoSelect: In der Liste wird der aktuelle Datensatz selektiert_WinLstReorderColumns: Nummeriert alle sichtbaren Spalten neu (sieheClmOrder)_WinLstRecEvtSkip: Unterbinden des EreignissesEvtLstSelect_WinLstIgnoreHidden: Die Liste wird auch aktualisiert, wenn sie unsichtbar (Visible=false) ist._WinLstActiveOnly: Nur das aktive View der RecList oder DataList aktualisieren.
Konstanten aus den Bereichen _WinLst*From*, _WinLstPos*, _WinLstReorderColumns und _WinLstRec* können miteinander kombiniert werden. Konstanten aus gleichen Bereichen können nicht kombiniert werden.
Optionen für Frame-Objekte (in (int1) muss _WinUpdState angegeben werden):
_WinDialogMaximized: Das Fenster wird maximiert dargestellt._WinDialogMinimized: Das Fenster wird minimiert dargestellt._WinDialogNormal: Das Fenster wird weder maximiert noch minimiert dargestellt._WinDialogPrimary: Befindet sich das Fenster außerhalb des darstellbaren Bereichs, wird es in der Bildschirmmitte des primären Bildschirms angezeigt.
Die Option _WinDialogPrimary kann mit den anderen Konstanten kombiniert werden.
Optionen für GanttGraph-Objekte:
_WinGntRefresh: Gantt-Graphen neu zeichnen_WinGntRecalc: Gantt-Graphen neu berechnen
Änderungen in Eingabeobjekten werden in den angegebenen Feldpuffer (Eigenschaft DbFieldName) übertragen, wenn der Fokus in ein anderes Objekt gesetzt wird. Diese Übertragung kann ebenfalls prozedural mit dem Parameter _WinUpdObj2Fld durchgeführt werden.
Die Optionen _WinLstFrom... beeinflussen nur die Anzeige der Datensätze. Der selektierte Datensatz bleibt unverändert. Die Selektion kann mit der Option _WinLstRecDoSelect neu gesetzt werden. Ein Update mit dieser Option löst dann auch das Ereignis EvtLstSelect der betreffenden RecList aus.
Die Position innerhalb der dargestellten Datensätze wird durch die Option _WinLstPos... bestimmt. Diese Option lässt sich mit den anderen Optionen kombinieren. Sollte eine Darstellung nicht möglich sein, weil zum Beispiel der letzte Datensatz in der Mitte dargestellt werden soll, erfolgt die Darstellung als vollständig gefüllte Liste.
Soll ein Fenster maximiert oder minimiert werden ist in (int1) die Konstante _WinUpdState anzugeben.
Als Rückgabewerte wird der Fehlerwert _ErrHdlInvalid zurückgegeben, wenn als (obj) kein gültiger Deskriptor angegeben wurde, sonst _ErrOk.
Beispiele:
sub EvtLstSelect
(
aEvt : event; // Ereignis
aID : bigint; // Record-ID des Datensatzes oder Zeilennummer
) : logic;
{
// Datensatz lesen
RecRead(tblArtArticle, 0, _RecID, aID);
// Felder aktualisieren
$Frame->WinUpdate();
return(true);
}
// Selektieren eines Datensatzes
fiCstNumber # 4;
RecRead(tblCstCustomer, keyCstNumber, 0);
$RecList->WinUpdate(_WinUpdOn, _WinLstRecFromBuffer | _WinLstRecDoSelect);
...