Highlighting in Tablelbox

29. April 2011 08:00

Hallo zusammen,

Ich habe folgendes Problem:
Ich arbeite gerade an einem "Staplerterminal" welches auf Basis eines Tablet-PCs basiert.

Hier sollen für verschiedene Aufgaben Zeilen aus Listen ausgewählt werden können, nun müssen die User wissen auf welchem Datensatz Sie gerade stehen, sprich an welcher Stelle der Pointer gerade steht. Dies sieht man natürlich durch den kleinen Pfeil am Anfang der Zeile, nur ist dieser Auf den ersten Blick nur schwer zu erkennen.
Meine Idee wäre nun z.B. einen Rahmen oder Ähnliches im "On-Activate" Trigger um das Feld zu legen, oder die Schrift der "aktuellen Zeile" in Bild darzustellen, aber das funtzt nicht...

Hat irgejemand eine Idee wie man dieses Problem lösen könnte? Und möglichst performant?

Hier noch ein Bild von einem Beispiel der Form, um zu verdeutlichen was ich meine:

Hier sollte der Artikel 24905 gehighlightet (doofes Wort :-D ) werden..
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Highlighting in Tablelbox

29. April 2011 10:10

eine Idee:

im OnAfterGetCurrRecord-Trigger:
Code:
CurrRec := Rec;
DoUpdate := TRUE;


im OnTimer-Trigger (TimerInterval auf z.B. 10 msec)
Code:
IF DoUpdate then begin
  currform.update(false);
  DoUpdate := FALSE;
end;


und im OnFormat-Trigger der Spalte (z.B. "No."):
Code:
CurrForm."No.".UPDATESELECTED(CurrRec."No." = Rec."No.")


Nachteil (bei mir), beim Scrollen "schliert" die Darstellung etwas ...

Gruß, Torsten

Re: Highlighting in Tablelbox

29. April 2011 11:43

Und wenn du dem Fahrer sagst, er soll auf die ganz linke Spalte (mit dem Pfeil) klicken? Dann bekommt er doch die blaumarkierung.
Und wenn Du die Felder alle nonfocusable machst, kann er von dort nur die Zeilen anwählen. Ist zwar ein wenig fies, aber dann ist die Markierung vorgegeben.

Re: Highlighting in Tablelbox

29. April 2011 12:42

Eine andere Idee wäre, den aktuellen Datensatz (jede Spalte einzeln) farbig zu markieren. Du musst halt gucken, ob es noch performant genug ist ...

Re: Highlighting in Tablelbox

3. Mai 2011 07:48

Guten Morgen zusammen,

Ich habe ersteinmal die Idee von Thorsten ausprobiert... funktioniert, aber von den Timerfunktionen bin ich immer nicht ganz so begeistert.
Ganz an den Linken Rand zu klicken hab ich mal auf dem Pad probiert, kann man nicht machen, die nutzen das dauernt, muss einfach und schnell zu bedienen sein.
@ Sebastian
Hmm.. Wie soll cih das anstellen? oder meinst du die gleiche Vorgehensweise wie bei Thorsten?

Gruß Matthias

Re: Highlighting in Tablelbox

3. Mai 2011 08:21

Muss für jede Spalte gemacht werden (für boolsche Felder kannst du es dir sparen; der Haken kann nicht gefärbt werden).
Code:
IF ... // hier Abfrage ob markierter Datensatz
  CurrForm."Nr.".UPDATEFORECOLOR(16711935)
ELSE
  CurrForm."Nr.".UPDATEFORECOLOR(0);

Re: Highlighting in Tablelbox

3. Mai 2011 08:53

Danke Sebastian,

Das war mir aber schon klar, wie man die Textfarbe ändert, das Problem ist vielmehr die Abfrage ob es sich um den aktuellen Datensatz handelt, im OnFormat Trigger...
Das scheint nur per Timer zu funktioniern ( siehe 1 Vorschlag ) oder hast du naoch ne andere Idee?

Gruß Matthias

Re: Highlighting in Tablelbox

3. Mai 2011 09:18

himi81 hat geschrieben:ob es sich um den aktuellen Datensatz handelt, im OnFormat Trigger...

Ja. Rec entspricht dem Datensatz, der gerade in der jeweils angezeigten Zeile enthalten ist.