ich komme mal wieder nicht weiter. Ich habe einen Browser. Es Funktioniert auch alles. Zeilencursor. Die linke Maustaste ist mittlerweile wg. "marked" und "ItemSelected" im Einsatz. Jetzt bräuchte ich die rechte Maustaste für einen anderen Zweck. Ich möchte in Abhängigkeit von der aktuellen Browserzeile eine weitere Tabelle damit anzeigen. Ich kriege es nur nicht hin, dass nach dem Klick auf die rechte Maustaste auch die Browserzeile unter dem Cursor markiert und damit auch die Daten synchronisiert werden. Über oListe:GetData() kriege ich immer die Werte des bisherigen Datensatzes, der ja auch durch den Zeilencursor repräsentiert wird. Hab' schon gelesen, dass ich mit :rowPos die Zeile im Browser einstellen und dann "von Hand" synchronisieren muss. Tja, wie mache ich das denn? Ein RefreshAll() scheint auch nicht die Lösung zu sein...
Code: Alles auswählen
oListe := XbpBrowse():new( drArea,, { 8*MEMVAR->nx,184*MEMVAR->nY}, {512*MEMVAR->nx,240*MEMVAR->nY},,.T.)
// Navigationscodeblöcke für den Browser
oListe:skipBlock := {|n| ergebnis->(DbSkipper(n)) }
oListe:goTopBlock := {| | ergebnis->(DbGoTop()) }
oListe:goBottomBlock := {| | ergebnis->(DbGoBottom()) }
oListe:phyPosBlock := {| | ergebnis->(Recno()) }
// Navigationscodeblöcke für den vertikalen Scrollbar
oListe:posBlock := {| | ergebnis->(DbPosition()) }
oListe:goPosBlock := {|n| ergebnis->(DbGoPosition(n)) }
oListe:lastPosBlock := {| | 100 }
oListe:firstPosBlock := {| | 0 }
oListe:useVisualStyle := .F.
oListe:hScrollObject:useVisualStyle := .T.
oListe:vScrollobject:useVisualStyle := .T.
oListe:addColumn( {|x| IIf(x==NIL, ergebnis->auswahl, Auswahl:=x)},, "[ ]")
IF MEMVAR->cPf<>"A"
oListe:addColumn( {|x| IIf(x==NIL, Str(ergebnis->KDEN,13,0), KDEN:=x)},, " KDEN ")
ELSE
oListe:addColumn( {|x| IIf(x==NIL, Str(ergebnis->KDEN,13,0), KDEN:=x)},, " KDNR ")
ENDIF
oListe:addColumn( {|x| IIf(x==NIL, ergebnis->F03_NAME, F03_NAME:=x)},, " Sortiername ")
oListe:addColumn( {|x| IIf(x==NIL, ergebnis->KE, KE:=x)},, "KE")
oListe:addColumn( {|x| IIf(x==NIL, ergebnis->NEU, NEU:=x)},, "NEU")
oListe:CursorMode:=XBPBRW_CURSOR_ROW
oListe:SetInputFocus := {|x,y,oSLE| dbselectArea("ergebnis") }
*oListe:ItemSelected := {|| EngAnzeige(oListe:getData()) } <== DAS HIER SOLL EIG. JETZT BEI RECHTSKLICK PASSIEREN
oListe:ItemRbDown:={|aMousePos, aRowCol, oSelf| PostAppEvent(xbeM_LbClick,NIL,NIL,oSelf)}
oListe:ItemSelected := {|| iif(ergebnis->auswahl=chr(158),ergebnis->auswahl:="",ergebnis->auswahl:=chr(158)),oListe:RefreshCurrent() }
oListe:create()
oListe:setLeftFrozen({1,2,3})
oListe:show()
So schwer kann das doch nicht sein, oder?
DANKE!!!
Gruß
Christof