Como siempre, necesito de su ayuda.
Siempre había usado Ordenar Columnas en Xbrowse pero con indices de un solo campo y sin filtro.
Tengo una DBF que tiene como indices 3 Campos: Tipo Aten, Tip_Pago y ( Codigo Arancel y Otro por Nombre)
Lo que necesito que el usuario pueda seleccionar si Ordena Por la Columna Codigo o Columna Nombre, el codigo que tengo no me permite mostrar adecuadamente.
Cada Acceso al Xbrowse, Trae Como Parametro " Tip_Ate " y "Tip_Pag".
Agregando a esto, necesito poder Buscar por Codigo o Nombre, pero considerando que el Indice esta compuesto por 3 campos.
Ademas, no muestra la Flecha que indica la Columna de Orden, como en todos los demas Xbrowse que uso, a pesar que decidi copiarlo de otro que si funciona con las flechas.
Desede ya, muchas gracias.
Muchos Saludos
Antonio.
Uso FWH 17.09
Dejo El codigo:
- Code: Select all Expand view
// Asi Genero el Archivo Indice
Abre_dbf("Aranpago",1,.t.,"")
Pack
inde on Tip_Ate+Tip_Pag+Cod_Ara tag Ara1 to Aranpago
inde on Tip_Ate+Tip_Pag+Nom_Ara tag Ara2 to Aranpago
DbCloseArea()
//
cAlias = "Aran"
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
DEFINE FONT oFont1 NAME 'TAHOMA' SIZE 0,24 BOLD
DEFINE FONT oFont7 NAME "TAHOMA" SIZE 0,-14 BOLD
DEFINE DIALOG oDlg33 SIZE 445,570 PIXEL FONT oFont STYLE nOr( WS_POPUP, WS_VISIBLE, WS_DLGFRAME )
@ 00,50 SAY otitu PROMPT " MAESTRO DE ARANCEL " PIXEL OF oDlg33 COLORS RGB(12, 135, 27) FONT oFont1
@ 20,10 XBROWSE oBrw SIZE -10,-35 PIXEL OF oDlg33 DATASOURCE "ARAN" ;
HEADERS 'Código', 'Nombre de Examen';
COLUMNS "Cod_Ara",AnsiToOem("NOM_ARA");
PICTURES "@!","@!" ;
COLSIZES 70, 280;
CELL LINES AUTOSORT NOBORDER;
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLWIN7
oBrw:nColDividerStyle := LINESTYLE_INSET
oBrw:nRowDividerStyle := LINESTYLE_INSET
oBrw:bClrHeader := {|| { nRGB(140, 0, 0), nRGB( 231, 242, 255 ), } }
oBrw:nOpacity := 230
oBrw:nHeaderHeight := 25
oBrw:bClrStd := {|| { nRGB( 0, 0, 0), nRGB(255,248,220) } }
oBrw:bClrSelFocus := {|| { nRGB( 255, 255, 255), nRGB(102, 178, 255) } }
WITH OBJECT oBrw
:lFooter := .t.
oBrw:lHScroll := .f.
oBrw:lIncrFilter := .f.
oBrw:lSeekWild := .F. && .T. Busca Contenido, .F. Que comience con lo que digita
oBrw:SetStyle( 2018)
oBrw:nColorPen := CLR_RED
oCol := oBrw:aCols[ 1 ]
ocol:cToolTip:="Clique para ordenar por CODIGO"
oCol := oBrw:aCols[ 2 ]
ocol:cToolTip:="Clique para ordenar por NOMBRE"
oBrw:aCols[1]:bRClickHeader := {|| oBrw:Seek( "" ), oBrw:cFilterFld := "Ara1", oBrw:Refresh() } // "Ara1" Es el nombre interno del Indice CDX
oBrw:aCols[2]:bRClickHeader := {|| oBrw:Seek( "" ), oBrw:cFilterFld := "Ara2", oBrw:Refresh() }
oCol:bLClickHeader:= {|| oBrw:Gotop() }
/*
oBrw:bKeyDown:={|nKey| iif(nKey=32.or.nKey=VK_RETURN, (Muestra_Pac(),oDlg33:End()),oBrw:Refresh())}
oBrw:bLDblClick:={||(Muestra_Pac(),oDlg33:End()),oBrw:Refresh()}
*/
oBrw:bChange := {|| oBrw:Refresh() }
oBrw:CreateFromCode()
END
@ 10,10 SAY otitu1 PROMPT "Buscar : " PIXEL OF oDlg33 COLORS RGB(12, 135, 27) FONT oFont
@ 10,40 SAY oBrw:oSeek VAR oBrw:cSeek SIZE 100,10 PIXEL OF oDlg33 PICTURE "@!" COLOR CLR_HRED,CLR_YELLOW
@ 255,250 BTNBMP SIZE 30,30 PROMPT "SALIR" OF oDlg33 PIXEL 2007 Resource "#8101" FONT oFont7 ;
ToolTip "SALIR DEL SISTEMA";
ACTION oDlg33:End()
@ 255,60 BTNBMP SIZE 30,30 PROMPT "SELEC" OF oDlg33 2007 Resource "#8002" FONT oFont7 ;
ToolTip "SELECCIONA EXAMEN" ;
ACTION (oDlg33:End())
ACTIVATE DIALOG oDlg33 CENTERED
RELEASE FONT oFont,oFont1,oFont7
Return nil