DCBROWSE - Array erstes Element [erledigt]

Moderator: Moderatoren

Antworten
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

DCBROWSE - Array erstes Element [erledigt]

Beitrag von Ewald »

Gibt es eigentlich eine Einstellung bei DCBROWSE, die erzwingt, dass beim Aufruf des DCBROWSE Fensters (mit einem Array) die Anzeige immer von der ersten Zeile an erfolgt ?
An einem Beispiel festgemacht habe ich ab und zu folgendes Problem. Ich rufe DCBROWSE mit einem Array mit 10 Einträgen auf. Angezeigt wird beim Aufruf nur das letzte Array Element und der Scrollbalken steht unten. Wenn ich den Scrollbalken hochschiebe sind natürlich alle Daten da. Es ist nur irgendwie unschön und verwirrend, wenn das Array nicht von Anfang an angezeigt wird. Beim Browsen durch eine Datenbank läßt sich das Problem mit "go top" vor dem Aufruf lösen - aber was mache ich bei einem Array ?
Zuletzt geändert von Ewald am Sa, 30. Mai 2009 15:59, insgesamt 1-mal geändert.
Juergen
UDF-Programmierer
UDF-Programmierer
Beiträge: 92
Registriert: Di, 19. Dez 2006 19:37
Wohnort: Düsseldorf
Kontaktdaten:

Hallo Ewald

Beitrag von Juergen »

PostAppEvent(xbeP_Keyboard, xbeK_CTRL_PGUP,,oBrowse)

Gruß

Jürgen
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9367
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Ewald.

Das ist merkwürdig. Eigentlich müßte das DCBROWSE beim Aufruf immer die ersten Einträge anzeigen. Machst Du irgendwas mit oBrowse:dataSource oder so?

Ansonsten:

Code: Alles auswählen

DCREAD ... EVAL {||oBrowse:GoTop(),oBrowse:RefreshAll()}
Herzlich,
Tom
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Ewald »

Hallo Jürgen, hallo Tom,
danke für die Antworten. Noch kann ich nicht genau sagen, was da los ist, aber mit dem Vorschlag von Jürgen komme ich weiter.
Soweit ich das sehe, ist das ein ganz normales dcbrowse. Nichts mit dataSource etc. Ich erzeuge im Programm per Auswahl über einen pushbutton ein mehrdimensionales Array das ich dann mit dcbrowse beackern will. Warum das erzeugte Array dabei ab und zu nicht von vorne angezeigt wird ist wie gesagt noch ein Geheimnis. Das ändert sich auch nicht mit EVAL {||oBrowse:GoTop(),oBrowse:RefreshAll()}.
Wenn ich an den Pushbutton, mit dem ich die Funktion zum Aufbau des array aufrufe die Zeile von Juergen anhänge, funktioniert es. Ich möchte hier niemanden mit meinem Spagetti-Code langweilen, aber sie sieht der Quellcode auszugsweise aus.

Code: Alles auswählen

 @ 0,0 dcsay {||firma[03]} font "12.Arial" saysize 0

@ 2,0 dcbrowse obrowse data aberechnen size 114,zrow ;
      font "8.Lucida Console" ;
      edit xbeBRW_ItemSelected;
      mode DCGUI_BROWSE_EDITEXIT

dcbrowsecol element  3 parent obrowse header "Teilenr"     editprotect {||.t.}
dcbrowsecol element  4 parent obrowse header "Bezeichnung" picture "@!"
dcbrowsecol element  5 parent obrowse header "VP"          valid {||fkalk(getlist)}
dcbrowsecol element  6 parent obrowse header "Rab"         valid {||fkalk(getlist)}
dcbrowsecol element  7 parent obrowse header "Bereit"      editprotect {||.t.}
.
.
.
@ 07.4,1  dcsay "BEMERKUNGEN "           parent wtexte  saysize 0
@ 07.4,15 dcget vbem1 pict "@!"   parent wtexte
@ 08.2,15 dcget vbem2 pict "@!"   parent wtexte
@ 09.0,15 dcget vbem3 pict "@!"   parent wtexte

@ ++zrow+11 ,0 dcpushbutton size 10,1 caption "Abbruch" ;
       action {||DC_Readguievent(DCGUI_EXIT_OK,Getlist)}

@   zrow+11 ,11 dcpushbutton size 10,1 caption "Rechnung";
       action {||fspeichern(getlist),dc_getrefresh(getlist)} ;
       when {||!len(aberechnen)=0}

@   zrow+11 ,22 dcpushbutton size 10,1 caption "neue Firma" ;
       action {||fautowahl(),fkalk(getlist),dc_getrefresh(getlist),;
              PostAppEvent(xbeP_Keyboard, xbeK_CTRL_PGUP,,oBrowse)}

dcread gui fit ;
title "Rechnung erzeugen" ;
options getoptions 
return    
Antworten