Scrollbalken einer TableBox nicht vorhanden

30. August 2006 08:54

Hi!

Ich habe folgendes Problem:
Als ersten Schritt habe ich als Datenursprug, einer in einer SubForm stehenden TableBox, die Tabelle "Item Ledger Entry" genommen. Zu diesem Zeitpunkt wurde die Tabelle korrekt angezeigt.

Nun ergab sich für mich das Problem, dass ich in der Tabelle "virtuell" Zeilen hinzufügen musste, die nat. nicht in die echte Tabelle übernommen werden sollten. Also habe ich die Daten aus "Item Ledger Entry" in eine temp. Tabelle vom gleichen Typ kopiert und lasse diese nun in der TableBox anzeigen.

Daraus ergibt sich folgendes Problem: Sollten mehr Daten in der Tabelle sein, als "auf den Bildschirm passen", erscheinen keine Scrollbalken! Wenn ich nun mit dem Cursor manuell reingehe und mit Pfeiltasten nach unten gehe, dann erscheinen plötzlich Scrollbalken!

Wie erreiche ich, dass IMMER Scrollbalken da sind? Gibt es eine Mögichkeit, so eine Art Schleife zu bauen, in der ich vom Code her jeder Zeile 1x den Focus gebe?

Folgender Code steht in der Form:

Code:
Funktion SetSource (VAR TempSourceRec: TEMPORARY Record "Item Ledger Entry")
-----
TempRec.RESET;
TempRec.DELETEALL;
IF TempSourceRec.FIND('-') THEN
  REPEAT
    TempRec := TempSourceRec;
    TempRec.INSERT;
  UNTIL TempSourceRec.NEXT = 0;
----------
Form: OnCloseForm()
-----
TempRec := Rec;
----------
Form: OnFindRecord(Which : Text[1024]) : Boolean
-----
BEGIN
  TempRec := Rec;
  IF NOT TempRec.FIND(Which) THEN
    EXIT(FALSE);
  Rec := TempRec;
  EXIT(TRUE);
END;
----------
Form: OnNextRecord(Steps: Integer) : Integer
-----
BEGIN
  TempRec := Rec;
  CurrentSteps := TempRec.NEXT(Steps);
  IF CurrentSteps <> 0 THEN
    Rec := TempRec;
  EXIT(CurrentSteps);
END;



Aufgerufen wird die Funktion SetSource aus der ober.Form .. OnAfterGetCurrRecord:
…SetSource(ItemLedgerEntry2);

Wobei ItemLedgerEntry2 ein Record vom selbigem Typ und
TempRec ein Temp. Record vom Typ ItemLedgerEntry ist.

Hat jemand eine Idee?

Mit freundlichen Grüßen
Dennis

30. August 2006 10:00

Warum keine Scrollbalken erscheinen, kann ich auch nicht sagen. Aber veruch doch mal, mit FIND('+) ans Ende der Tabelle zu springen, und dann mit FIND('-') wieder zurück an den Anfang.

gute Idee - mit neuen Problemen

30. August 2006 10:41

Danke,

als kurzer Workaround ganz nützlich, jedoch nicht für die Kunden-Version, denn nun fragt er mich beim Datensatz-Wechsel meiner "ober-Form", ob er die Daten in der SubForm überschreiben darf, da er beim Datensatz-Wechsel offensichtlich Teile aus der Tabelle markiert und diese markierten Teile dann versucht in die Tabelle (nach dem Datensatz-wechsel) wieder einzufügen... Dies passiert nur, wenn ich Find+ und Find- drinnen stehen habe.

Ich habe jetzt die Idee mit der temporären Tabelle als Datenursprung aufgegeben, da ich feststellen musste, dass auch "F7" (Filter setzen) dann nicht mehr geht, und dieses Feature wird vom Kunden definitiv gewünscht. Es bliebe mir also nur die Möglichkeit für alle Spalten extra-(Options-/Auswahl-)Felder zu schaffen, die dem Kunden einen Filter ermöglichen. Falls mein Chef weiterhin verlagt, dass Ausser dem Inhalt aus Item Ledger Entry noch weitere Daten in der Tabelle stehen sollen -- werde ich das Problem erneut haben und neu nach einer Lösung forschen. Ich hoffe ihn aber davon abzubringen... :-)

Für weitere Ideen bin ich offen und sehr dankbar...

Mfg
Dennis