Mehrzeilige Ausgabe Spaltenkopp bei XbpBrowse

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
michael_wetterhahn

Mehrzeilige Ausgabe Spaltenkopp bei XbpBrowse

Beitrag von michael_wetterhahn »

Hallo,
ich will bei XbpBrowse im Spaltenkopf den Text mehrzeilig ausgeben damit bei schmalen Datenfeldern die Spalte nicht so sehr in die Breite gedehnt wird.
Mit aPP := {{XBP_PP_COL_HA_HEIGHT,nhoehe}} gelingt es mir zwar den Spaltenkopf mehrzeilig zu machen aber der Zeilenumbruch im Kopf gelingt mir nicht.

Alternativ habe ich es mit DCBrowse versucht. Da gelingt mir zwar dieser Tei doch die Spalten werden wiederum zu schmal angezeigt immer mit XXXX...
und zweitens gelingt es mir irgentwie nicht meinen Event-Handler ordentlich einzubinden.

Wer kann mir helfen?

Gruß

Michael
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Michael,

so weit ich weiss, kannst mit diesem Parameter nur die Höhe des Kopfes verändern. Mehrzeilig wird es aber nicht. Ich habe gelesen, dass bei XBPBrowse keine Anzeige mehrzeiliger Texte möglich ist. Vielleicht gibt es alternativen, die ich aber nicht kenne.
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo,
mal 'ne Frage: Was passiert denn, wenn ihr an der Stelle, an der umgebrochen werden soll, einfach ein chr( 13 ) oder - wenn das nicht hilft - ein chr( 10 ) + chr( 13 ) einfügt??

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Martin,

das mit chr(13)+chr(10) habe ich schon mal ausprobiert. Der Text wird nicht unterbrochen. Anstatt chr(13)+chr(10) werden 2 Kästchen angezeigt.
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Beitrag von Jan »

Ich habe so eine mehrzeilige Überschrift schon in der Newsgroup gesehen, und sogar mit unterschiedlichen Farben. Es würde mich nicht wundern wenn das von Diego war, der macht immer so nette grafische Sachen, die eigentlich nicht gehen.

Das muß ca. 2 Jahre her gewesen sein, einfach mal suchen (ich komme da im Moment nicht rein, sonst würde ich selber mal danach schauen).

Jan
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von Wolfgang Ciriack »

Um ein bischen Werbung zu machen:
Nimmst du eXPress++, dann gehts :wink:
Viele Grüße
Wolfgang
michael_wetterhahn

Beitrag von michael_wetterhahn »

Hallo Wolfgang,

ich nehme ansonsten EXpress. Nur mit DCBrowse habe ich bisher bezüglich der Einbindung meiner Eventfunktion keine guten Erfahrungen gemacht.
Schrieb ja schon im Eingangstext, dass ich den Spaltenkopf mit DCBrose
mehrzeilig hinbekommen habe. Doch irgendwie zickt DCBrowse mit meiner Eventfunktion.

Vielleicht hast Du eine Idee?

MfG

Michael :cry:
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von Wolfgang Ciriack »

Was hast du denn für spezielle Funktionalität in deinem Event-Handler ?
Du kannst doch eigentlich mit

DCBROWSE .....
HANDLER MyEventHandler

einen eigenen Handler einbauen. Das habe ich auch teilweise gemacht, um das Suchen bei Eingabe von Zeichen sofort zu starten.
Wenn dich die Punkte in den Spalten stören kannst du entweder die Spalten größer machen oder nur Teilstrings der Felder im Browse anzeigen.
Viele Grüße
Wolfgang
michael_wetterhahn

Beitrag von michael_wetterhahn »

Hallo an alle,

ich habe es selbst gepackt.

Nachfolgend der Beispielcode. Geht vielleicht noch eleganter. Habe nach dem vielen Probieren aber keine Lust mehr. Mir reichts!

MfG

Michael

Code: Alles auswählen

function bspfunc(cdata,afields,aheader)
   local n_i,n_k,obrowse,n_s,n_ls,C_str,N_captmax,nw,y
   local a_temp:={},acolcapt:={},aStruct,xvar
   .
   .
   select (cdata)
   aStruct  :=  DbStruct()

   .
   // obrowse Browser im Fenster erzeugen
   .
   .
   FOR n_i := 1 TO len(aheader)
      n_s:=1
      n_LS:=0
      C_str:=aheader[n_i]
      asize(a_temp,0)

      //aheader[n_i] in Teilstrings zerlegen und
      // Ermitteln wieviel Haeder-Zeilen sowie
      // Columnenbreite bezogen auf header

      DO WHILE AT(";",C_str)>0
         aadd(a_temp,substr(C_str,1,AT(";",C_str)-1))
         n_ls:= Max(len(substr(C_str,1,AT(";",C_str)-1)),n_ls)
         ++n_s
         c_str:=substr(C_str,AT(";",C_str)+1)

      ENDDO
      aadd(a_temp,c_str)

      n_ls:= max(n_ls,len(c_str))                //Spaltenbreite bezogen auf header

      N_captmax:= max(N_captmax,n_s)             //Headerzeilen

      aadd(acolcapt,{n_ls,aclone(a_temp)})
   NEXT

   FOR n_i := 1 TO len(afields)
      n_k := ascan(aStruct, {|x| upper(alltrim(afields[n_i]))  == x[1]  })
      IF n_k>0                                   //Nur f
Antworten