Dialogfeld "Filtern" (Foundation Class)

Kategorie Datenabfrage
Standardkatalog Visual FoxPro-Katalog\Foundation Classes\Datenabfrage
Klasse _filterdialog
Basisklasse Form
Klassenbibliothek _table.vcx
Übergeordnete Klasse _form
Beispiel ...\Samples\Solution\Ffc\datasort.scx

Hinweise

Bei dieser Klasse handelt es sich um ein Dialogfeld, das ein vorhandenes Filterobjekt verwendet, um Ihnen die Filterung der Daten in einem bestimmten Feld zu gestatten.

Um die Klasse zu verwenden, müssen Sie sie in ein Projekt ziehen oder im Kontextmenü des Komponentensammlungselements den Befehl Formular erstellen oder Zu Projekt hinzufügen wählen. Wenn Sie die Klasse in ein Projekt ziehen, haben Sie die Auswahl zwischen dem Hinzufügen der Klasse und dem Erstellen einer Unterklasse oder eines Formulars. Wenn Sie die Klasse in ein Projekt ziehen oder aus dem Kontextmenü den Befehl Neues Formular aus ausgewählter Klasse erstellen wählen, zeigt Visual FoxPro das Dialogfeld Öffnen an, so dass Sie den Namen des Formulars angeben können. Anschließend erstellt Visual FoxPro das Formular und öffnet es im Formular-Designer.

_FilterDialog ermöglicht es Ihnen, mit Visual FoxPro-Ausdrücken einen komplexen Filter mit logischen Ausdrücken, verschachtelten Bedingungen usw. zu definieren, der auf die Felder der derzeit offenen Tabellen beschränkt ist. Für verschiedene Feldtypen stellt es automatisch Trennzeichen bereit. Des Weiteren schlägt es optimierbare Ausdrücke vor, indem es die verfügbaren Tags der aktuellen Tabelle überprüft. In der Felderliste steht dann vor Feldnamen mit nutzbarem Indexname ein "*".

Wie _FilterExpr benötigt auch _FilterDialog mindestens eine offene Tabelle, auf der es einen Filter setzt. Anders als _FilterExpr ist _FilterDialog nicht notwendigerweise modal; es ist jedoch dann modal, wenn es von _FilterExpr aufgerufen wurde. Im Init-Ereignis bestimmt FilterDialog die aktuelle Tabelle. FilterDialog wechselt niemals die Datensitzung.

Beim Aufruf durch _FilterExpr bestimmt _FilterDialog, welchen Filter der Benutzer bereits im Bearbeitungsfeld _FilterExpr spezifiziert hat, und zeigt diesen Ausdruck als Initialbedingung an. Wird _FilterDialog direkt aufgerufen, so überprüft es mittels SET("FILTER") den aktuellen Alias auf einen Filter und zeigt diesen ggf. als Initialbedingungsmenge an.

Die SetUpFilter( )-Methode von _FilterDialog verwendet die im Dialogfeld aufgeführten Bedingungen und erstellt aus diesen Bedingungen einen Filterausdruck; anschließend wendet sie die NORMALIZE( )-Funktion auf den Ausdruck an. Das Ergebnis wird in der cFilter-Eigenschaft gespeichert. Nach dem Klicken auf OK wird SetupFilter( ) gestartet. Wird _FilterDialog von einer Instanz von _FilterExpr aufgerufen, so ruft es die _FilterExpr.SetFilter-Methode auf; andernfalls stellt es mittels _table fest, ob Navigation zulässig ist, setzt den Filter direkt und aktualisiert nach dem Setzen des Filters die Anzeige.

_FilterDialog ist ein eigenständiges Objekt, das zur Erstellung eines Filters nicht der Existenz von _FilterExpr bedarf. Wird es jedoch von _FilterExpr aufgerufen, so arbeiten die beiden Dialogfelder bei der Erstellung eines Filters zusammen, indem in _FilterExpr ein Ausdruck angegeben und in _FilterDialog eine Auswahl getroffen wird. Weitere Informationen über die Filter Expression-Klasse finden Sie unter Dialogfeld "Filterausdruck" (Foundation Class).

Weitere Informationen zur Verwendung der Foundation Classes finden Sie unter Richtlinien zur Verwendung der Visual FoxPro Foundation Classes.

Eigenschaften, Ereignisse, Methoden Beschreibung
cFilter-Eigenschaft Enthält den in der SetupFilter-Methode bearbeiteten Filterausdruck.
Standardwert:""
SetupFilter-Methode Diese Methode übernimmt die im Dialogfeld aufgeführten Bedingungen und erstellt einen Filterausdruck auf Grundlage dieser Bedingungen; anschließend wendet sie die NORMALIZE( )-Funktion auf den Ausdruck an.
Syntax: SetupFilter(tcValue)
Rückgabewert:cFilter
Argumente:
tcValue spezifiziert den als Filter zu verwendenden Ausdruck.
cFilter ist der in der cFilter-Eigenschaft enthaltene Wert.
cOldexact-Eigenschaft Klassenintern
iBact-Eigenschaft Klassenintern
iQptr-Eigenschaft Klassenintern
iQuerymax-Eigenschaft Klassenintern
iSelect-Eigenschaft Klassenintern
oCaller-Eigenschaft Klassenintern
aDBFs[1,0]-Eigenschaft Klassenintern
aTags[1,0]-Eigenschaft Klassenintern
aQuery[1,0]-Eigenschaft Klassenintern
aFLDs[1,0]-Eigenschaft Klassenintern
SetAction-Methode Klassenintern
QReset-Methode Klassenintern
QSet-Methode Klassenintern
FSet-Methode Klassenintern
NoBrack-Methode Klassenintern
Brackets-Methode Klassenintern
SetTags-Methode Klassenintern
OnTag-Methode Klassenintern
NoTag-Methode Klassenintern
EditQuery-Methode Klassenintern
SetRowsources-Methode Klassenintern
SetInitialQueryParts-Methode Klassenintern

Siehe auch

Richtlinien zur Verwendung der Visual FoxPro Foundation Classes | Visual FoxPro Foundation Classes A-Z | Visual FoxPro Foundation Classes | Dialogfeld "Filterausdruck"