SuchGrid

Eigentlich ist mir die Frage peinlich, aber es kann sonst niemand helfen ... :)

Moderator: Moderatoren

Re: SuchGrid

Beitragvon Koverhage » Fr, 26. Aug 2016 11:30

Welche Menüpunkte vorhanden sein sollen, kann doch sicherlich einmalig beim Starten des Programmes geprüft werden - dementsprechend wird das Menü gebaut!

Genau, die die nicht vorhanden (aufrufbar) sein sollen erst gar nicht mit AddItem hinzufügen.
Manchmal möchte man die Menüpunkte doch zeigen (aber nicht aufrufbar) um z.B. dem Anwender weitere Module zu verkaufen ;-)
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1893
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen

Re: SuchGrid

Beitragvon Martin Altmann » Fr, 26. Aug 2016 12:43

Klaus,
Koverhage hat geschrieben:Manchmal möchte man die Menüpunkte doch zeigen (aber nicht aufrufbar) um z.B. dem Anwender weitere Module zu verkaufen ;-)

genau - aber dann sollte man deren Aufruf (wie beschrieben) doppelt verhindern!
Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12851
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: SuchGrid

Beitragvon georg » Fr, 26. Aug 2016 14:10

Hallo,


also weiterhin offtopic: nach Möglichkeit lagere ich solche Funktionen in eigenen DLLs aus, die ich ausliefere, wenn ... Da nützt selbst ein Enabler nichts, wenn der dahinterstehende Code nicht im Programm drin ist.
Liebe Grüsse aus der Eifel,

Georg
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1780
Registriert: Fr, 08. Feb 2008 21:29

Re: SuchGrid

Beitragvon GrillenHirni » Fr, 26. Aug 2016 15:38

Kennt jemand die Geschichte von einem armen GrillenHirni, das auszog in den
finsteren Wald, um ein SuchGrid zu suchen und dann von einem VereinsVorstand
überfallen wurde...?


OK - ich geb es zu - es können in einem ganz extremen Fall auch um die
achttausend DatenSätze sein... Die Feedbacks lassen vermuten, dass diese
Menge auch ein skippen zulässt. Der Anwender sucht in der Regel eh in
indexierten Feldern - wenn er in einem Feld sucht, das nicht indexiert ist,
dann ist das seine Sache (selber Schuld) - Hauptsache, es geht...

Nach Anregung von Wolfgang und Rudolf ist es auch vorstellbar, dass im Grid
nur ein SuchFeld angeboten wird, wenn der Anwender vorher durch anklicken
der Spalte das SuchFeld bestimmen kann... Anscheinend müsste dann entweder
das SuchFeld erst angezeigt werden, wenn der Typ der Spalte fest steht, oder
das SuchFeld müsste alle möglichen Typen verarbeiten können...


Folgendes Problem in der Dynamik der Anwendung ist mir inzwischen
aufgefallen:

Der Anwender gibt einen SuchBegriff ein...

Er bestätigt die Suche mit der {RETURN}-Taste oder mit dem PushButton [OK]

Der DatenSatz wird positioniert - das Browse wird entsprechend neu angezeigt...

Möglicherweise setzt der Anwender den Filter auf den Suchbegriff und "browst"
noch ein bisschen herum, um aus 12 angezeigten "Heinz" seinen gewünschten
"Heinz" auszuwählen...

Dann bestätigt er die Auswahl des DatenSatzes mit der [RETURN]-Taste oder
dem PushButton [OK]:

Der PushButton [OK] ist überladen...!

Eventuell wäre es sinnvoll, für die Auslösung der Suche (ich selber bin eh mehr
Tastatur-fixiert) einen separaten PushButton [Suche] anzubieten...?



Das MenuProblem liegt mir sehr am Herzen und würd es schon gerne in einem
separaten Thread behandeln, aber nicht gleichzeitig mit diesem SuchGrid-Problem,
wegen Überhitzung des letzten HirnZällis und Überlastung des SuchGrid-Sekretariats...


Jimmy - Du bist an allem Schuld -
lass mich jetzt hier nicht allein
mit diesem Verein...
(ich bin ein Poet...!)


Herzliche Grüsse und ein schönes WochenEnde mit über 30 Grad...
Gilli


P.S. Was sind off-topics...?
GrillenHirni
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 57
Registriert: Do, 18. Jul 2013 10:56

Re: SuchGrid

Beitragvon georg » Fr, 26. Aug 2016 17:21

offtopic sind Beiträge, die mit dem eigentlichen Thema nichts zu tun haben. Aber wir haben hier keine Probleme mit offtopic, wir bleiben immer bei Thema (und wenn es offtopic ist).
Liebe Grüsse aus der Eifel,

Georg
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1780
Registriert: Fr, 08. Feb 2008 21:29

Re: SuchGrid

Beitragvon HaPe » Fr, 26. Aug 2016 17:46

Hallo Grilli !

Ich möchte dir mal meine Listen für die Suche vorstellen (mit Visual Foxpro erstellt)

Auf jedem Datenformular gibt es bei mir eine Listen-Seite (Grid):
Liste.jpg
Liste.jpg (228.44 KiB) 4065-mal betrachtet


In dieser Liste kann in jeder Spalte gesucht werden deren Überschrift kursiv geschrieben ist.
Man beginnt die Schnell-Suche durch Eingabe des Gesuchten indem Mann/Frau einfach lostippt. Die Eingabe erscheint links unten in der Status-Zeile des Fensters.
Es wird kein Eingabe-Feld zur Eingabe benötigt. 8)
Nach jeder Eingabe eines Zeichens wird sofort positioniert.
Es gibt Spalten mit Index aber auch Spalten ohne Index. Zur Schnell-Suche wird "on the fly" ein temporärer Index erstellt und damit gesucht und positioniert.
Möchte man in einer anderen Spalte suchen, einfach die (baue) Zellenmarkierung zur gewünschten Spalte setzen und lostippen.
Durch Header-Klick kann man die Spalte aufsteigend, absteigend und wieder unsortiert einstellen.

Bei Feldern die eine Auswahl benötigen gibt es eine Pick-Liste (wieder ein Grid):
pickliste.jpg
pickliste.jpg (105.33 KiB) 4065-mal betrachtet


Was die Liste anzeigt wird beim Eingabe-Control per Eigenschaften in der Klasse eingestellt:
- Anzahl der Spalten
- Daten-Quelle
- Größe des Fensters
- Rückgabe
- usw.

Die Suche erfolgt exakt wie oben: Gewünschte Spalte wählen und lostippen ...

Für eine ausführliche Suche gibt es eine Suchen-/Filter-Klasse:
filter.jpg
filter.jpg (173.45 KiB) 4065-mal betrachtet


Es können insgesamt bis zu 10 Bedingungen mit und/oder gesetzt werden.

Die Klasse liest aus dem Datenobjekt der Tabelle die eingestellten Suchfelder aus und aus dem Datenbank-Container (Visual Foxpro hat darin seine Meta-Daten) die zugehörigen Beschreibungen für die ComboBoxen.

Eingestellte Suchbedingungen können unter einem Namen gespeichert und später wieder geladen werden.

Nach dem Setzen des Filters zeigt die Liste nur noch diejenigen Datensätze an welche den Bedingungen entsprechen.

Das sollte hier als Anregung für deine Aufgabe dienen.
Zuletzt geändert von HaPe am Fr, 26. Aug 2016 21:30, insgesamt 1-mal geändert.
--
Hans-Peter
Benutzeravatar
HaPe
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 149
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz

Re: SuchGrid

Beitragvon GrillenHirni » Fr, 26. Aug 2016 20:18

Hallo brandelh....

Mir tun die Langoparden jedes Mal leid, wenn ich sie im Zoo
so eingesperrt sehe... Darum war ich seit ich von der Schule
kam nicht mehr im Zoo....

Jan - was sind denn das für Anwendungen mit 2 Mio DatenSätzen...?
Verwaltest Du das deutsche TelefonBuch...?

Ich finde das Grid von Dir, HaPe - sieht fantastisch aus - das Teil
kommt optisch gepflegt daher und kann viel zuviel...!

Bei der Anwendung scheint es sich um eine Art LogMonitor zu
handeln...? Hab ich auch mal gemacht - war ziemlich knifflig...!

Diese SuchLogik, wo schon nach einem BuchStaben Ergebnisse
angezeigt werden, die brauche ich aber nicht... Für Deine
Anwendungen ist das bestimmt super komfortabel... Bei mir
muss der Anwender mindestens einen Teil des SuchBegriffs
eingeben und die Suche bestätigen, bevor gesucht wird...
Es sollen dann auch nicht nur die DatenSätze mit dem Suchbegriff
angezeigt werden, sondern einfach das Browse, ab dem ersten
Treffer...

Was meinst Du damit, es gibt kein SuchFeld...? Das hab ich nicht
ganz verstanden...? Der Amwemder kann doch den SuchBegriff
nicht ins Blaue hinaus eingeben...? Das aufgrund einer aktiven
Zelle gesucht wird, glaube ich mitbekommen zu haben, aber den
Vorgang von der Eingabe des SuchBegriffs kann ich mir nicht
vorstellen...

Was off-topic betrifft war ich global für freie Meinungsäusserung,
als es die noch gab...

Wo wir grad beim Thema freie Meinungsäusserung sind - Bayern
führt nach 12 Minuten zwei zu null - das kann ja wieder heiter
werden diese Saison...

Gute Nacht Ihr Lieben...
Grilli
GrillenHirni
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 57
Registriert: Do, 18. Jul 2013 10:56

Re: SuchGrid

Beitragvon HaPe » Fr, 26. Aug 2016 21:10

Hallo Grilli !
Was meinst Du damit, es gibt kein SuchFeld...? Das hab ich nicht ganz verstanden...? Der Anwender kann doch den SuchBegriff
nicht ins Blaue hinaus eingeben...?

Doch, in VFP geht das.
Es gibt dort im Grid (in Clipper/Xbase TBrowse genannt) den KEYPRESS-Event der bei jedem Tastendruck gefeuert wird.
Dieser wird dort ausgewertet und nicht in ein Eingabe-Feld geschrieben sondern in eine Eigenschaft der Grid-Klasse.
Damit der Anwender weiß, was er überhaupt eingegeben hat(te), wird die Eigenschaft mit den einzelnen Zeichen mittels eines Labels in der Status-Zeile angezeigt.
Wenn der Anwender die Backspace-Taste betätigt, wird das letzte Zeichen des Labels gelöscht.
Mittels Timer wird nach 10 s der bisher eingetragene Suchbegriff gelöscht.

Das aufgrund einer aktiven Zelle gesucht wird, glaube ich mitbekommen zu haben, aber den Vorgang von der Eingabe des SuchBegriffs kann ich mir nicht
vorstellen...

Bitte oben nachlesen.
--
Hans-Peter
Benutzeravatar
HaPe
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 149
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz

Re: SuchGrid

Beitragvon AUGE_OHR » Sa, 27. Aug 2016 0:28

GrillenHirni hat geschrieben:Er bestätigt die Suche mit der {RETURN}-Taste oder mit dem PushButton [OK]
nur so nebenbei : Die RETURN Taste wirkt unter Windows oft nicht so wie du es von Cl*pper her denkst.

GrillenHirni hat geschrieben:Dann bestätigt er die Auswahl des DatenSatzes mit der [RETURN]-Taste oder dem PushButton [OK]:
XbpBrowse hat den Callback Slot
Code: Alles auswählen
oBrowse:itemSelected := {| uNIL1, uNIL2, self | MyAction( Parameter1, ... )  }
dieser reagiert auf DblClick oder RETURN

ein Pushbutton hat den o:activate CallBack Slot. nun wäre aber nicht gut 2 verschieden Aktionen zu haben
Code: Alles auswählen
oPb:activate := {| uNIL1, uNIL2, self | PostAppEvent(xbeBRW_ItemSelected,,,oBrowse) }
damit wird der Klick auf den Pushbutton zum Browse weitergeleitet und der o:itemSelected Codeblock im Callback Slot ausgeführt.

GrillenHirni hat geschrieben:Diese SuchLogik, wo schon nach einem BuchStaben Ergebnisse angezeigt werden, die brauche ich aber nicht...
...
Was meinst Du damit, es gibt kein SuchFeld...? Das hab ich nicht ganz verstanden...?
das nennt man inkrementelle Suche was ich schon auf Seite 1 angesprochen habe.

GrillenHirni hat geschrieben:Jimmy - Du bist an allem Schuld - lass mich jetzt hier nicht allein mit diesem Verein... (ich bin ein Poet...!)
ich ich ein Nacht Mensch :headbang:
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10210
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Danke, danke, danke...!

Beitragvon GrillenHirni » Mo, 12. Sep 2016 17:50

Danke allen, welche wertvolle Tipps zum Thema beigetragen haben…!!

Ich habe viel gelernt - ausserdem habe ich einige Muster und auch
Angebote für die Erstellung von raffinierten SuchGrids erhalten…!

Wahrscheinlich eröffne ich hier in der Schweiz das weltweit erste
und einzige Museum für SuchGrids… Geplant sind drei Abteilungen –
die Abteilung Oberfläche, die Abteilung Suchlogik und eine Abteilung,
wo verschiedene Kombinationen ausgestellt werden. Ein PublikumsRenner
wird bestimmt das Grid, welches nur mit einer Viertual-4-D-Brille bedient
werden kann – die SuchLogik enthält einen ZufallsGenerator und wer
trotzdem den richtigen Datensatz findet (Vorhersage mit notarieller
Beglaubigung, 3 Versuche, Datenbank von Jan – ca 4 Mio DatenSätze
zum durchskippen), der gewinnt eine Reise für fünfundzwanzig Personen
auf die Oliven…

Von den Ansätzen und Ideen bin ich begeistert und für mich ist das Thema
voraussichtlich bald gelöst – durch eine schlicht gestaltete Version, die aber
luxuriös das tut, was meine lieben Anwender brauchen: die Eingabe von
SchlüsselWerten mit Tabellen unterstützen…

Einige Themen werde ich auf jeden Fall weiter verfolgen – einige betreffen
mein SchicksalsThema, das MenuObjekt, welches ich hier in diesem Thread
nicht auch noch behandeln wollte:

Für den Ansatz von Martin Altmann betreffend das MenuObjekt mit den IFF-Strukturen
im CodeBlock bin ich dankbar – wird aber nicht funktionieren, da die Prüfung nicht
unmittelbar beim Anklicken des Items SubMenu erfolgt, sondern „weiter oben“ für
die ganze Struktur, welche „darunter hängt“

der Ansatz von Wolfgang betreffend das MenuObjekt von eXpress++,
welches eine WHEN-Klausel unterstützen soll – ich hab schon versucht,
einen ProtoTypen zu basteln, aber ich befüchte, dass diese WHEN-Klausel
nur FunktionsAufrufe – nicht aber SubMenus unterstützt…? Allerdings lässt
mich das grad darauf folgende Beispiel von Jimmy wieder hoffen…

die technischen Kabinettstückchen von Jimmy – insbesondere dann auch
im letzten Beitrag zum Browser – die Behandlung der Tastatur

werden mich in nächster Zeit noch weiter beschäftigen…


Danke, danke, danke!! Und einen schönen Abend…!
Gilli
GrillenHirni
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 57
Registriert: Do, 18. Jul 2013 10:56

Vorherige

Zurück zu Newbie

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast