Ich möchte eine Datenbank mit einem Klick auf den Spaltenkopf sortieren lassen. Dies funktioniert auch, nur ich finde hinterher den ausgewählten Datensatz nicht mehr. Ich weiss, dass dies mit CARGO funktionieren soll, aber ich kann das nicht! Kann mir jemand kurz skizzieren, wie bzw. wo ich den mit dem Cursor oder mit der Pfeiltaste ausgewählten Datensatz (blau hinterlegt) hinterher nach einer Sortierung über bSortCol wiederfinden kann?
Mein Quellcode lautet wie folgt:
Code: Alles auswählen
@ 3,1 DCBROWSE oBrowse DATA oBrowData;
SIZE 11,19;
CURSORMODE XBPBRW_CURSOR_ROW;
PRESENTATION aPres;
EVAL {IoIo:itemMarked := ;
{IILoadName(aName,DCGETREFRESH_TYPE_EXCLUDE, {GETLIST_BROWSE}),;
SetAppFocus(oBrcol1) } }
bSortCol := {Ia,n,oI _XSample50(bDirectory,n)}
DCBROWSECOL ELEMENT 1;
WIDTH 2;
OBJECT oBrcol1;
HEADER "VArt" PARENT oBrowse;
ID 'BROWSE_COD'
SORT bSortCol LEFTBUTTON
DCBROWSECOL ELEMENT 2;
WIDTH 6;
OBJECT oBrcol1;
HEADER "Pers.Nr" PARENT oBrowse;
ID 'BROWSE_COD'
SORT bSortCol LEFTBUTTON
....
DCREAD GUI FIT;
To lOk;
PARENT oDlg;
ADDBUTTONS ;
TITLE 'XYZ' ;
SETFOCUS @oBrowse;
HANDLER BrowseHandler2 REFERENCE aName;
TIMEOUT 300
RETURN nil
STATIC FUNCTION LoadName ( aName, nRefreshMode, aRefreshList)
C_NAME := 'Ausgewähler Fall: '+GRUND->ZNAME
If nRefreshMode = nil .OR: nRefreshMode > -1
DC_GetRfresh(bGetList, nil, nRefreshMode, aRefreshList)
DC_GetOrigSet(bGetList)
satzx := recno() // Datensatznummer des ausgewählten Datensatzes
Return nil
STATIC FUNCTION;
BROWSEHandler2 (nEvent, mp1,mp2,oXbp, oDialog, GetList, aName)
Do Case
case nEvent = xbeP_Keyboard .and. mp1 == xBek_RETURN
RETURN DCGUI_EXIT_OK
case nEvent == xbeM_LbDblClick
RETURN DCGUI_EXIT_OK
case nEvent = xbeP_Keyboard .and. mp1 == xbeK_ESC
RETURN DCGUI_EXIT_ABORT
endcase
RETURN DCGUI_NONE
Vielleicht kann mir jemand helfen!
Gruß Werner