Hola amigos les solicito su amable ayuda de como activar segunda columna la flechita con cSortOrder.
Tengo una tabla con indice cdx y dos tags
Pongo Ejemplo:
Use catalogo
index on id_cuenta TAG cuenta
index on nombcta TAG ctadescrip
En la primera columna si aparece activado la flechita, pero porque en la sgunda columna no me activa la flechita, pero si tiene indice, donde hago la busqueda por descripcion del catalago. Uso recursos con PellesC
Pongo la imagen y codigo para ver si alguien del foro me puedan ayudar
- Code: Select all Expand view RUN
- //------------------------------------------------------------------------------
FUNCTION SelCta(Ctaf,S08)
LOCAL cCta2, cBuscPal,cDescrip // nKey := VK_RETURN
LOCAL oSDlg, oSBrw,oFont,n
Local oTextBusc, cTextBusc
FIELD ID_CUENTA, NOMBCTA
cBuscPal:= SPACE(40)
cCta2 := FORMATO1("Ctaf", Ctaf, .F.) // NO PERMITE SEPARAR GUIONES
(S08)->( DbSelectArea(S08) )
(S08)->(SetSeek(cCta2))
DEFINE FONT oFont NAME "ARIAL" SIZE 0,-11 BOLD
DEFINE DIALOG oSDlg RESOURCE "S_CATALAG" TITLE "Catálogo de cuentas"
REDEFINE XBROWSE oSBrw ID 101 OF oSDlg ;
HEADERS "Cuenta","Descripcion","Saldo Ant" ;
COLUMNS { || Ext_xNiv((S08)->ID_CUENTA) }, "NOMBCTA", { || Sdoini(S08) } ;
SIZES 114, 240, 80 ;
PICTURES "@!", "@S50" ;
ALIAS (S08)->( ALIAS() ) // FOOTERS CELL AUTOCOLS
AEval( oSBrw:aCols, { |o| o:nEditType := 0 ,; //No editables
o:nHeadStrAlign := 2 } ) //texto encab/col centrado
For n := 1 to len( oSBrw:aCols ) //Font segun lineas condicionadas // Como puedo leer el valor ...
oSBrw:aCols[n]:oDataFont := {|| IF((S08)->TIPONAT = "A", oFont, oSDlg:oFont) }
Next
WITH OBJECT oSBrw
//ESTILOS DE LINEAS
:nMarqueeStyle := MARQSTYLE_HIGHLROW //barra selectora
:lColDividerComplete:= .T. //completa pintado hasta el footer cuando lineas no llenan todo el browse
:nColDividerStyle := LINESTYLE_BLACK
:lHScroll := .F. // Horizontal
:lVScroll := .T. // Vertical
:bClrSel := { || { nRGB( 0, 0,255), aGradBarSel } } // para barra de linea selecc cuando el control no tiene el foco
:bClrSelFocus := { || { CLR_BLACK, aGradBarSelFocus } } // para barra de linea selecc cuando el control tiene el foco
:lKinetic := .F.
:lContrastClr := .F. //para que no cambie color de texto automaticamente segun intensidad del fondo
:bLDblClick := { || oSDlg:END() }
:bKeyDown := { |nKey| IF(nKey=VK_RETURN,(oSDlg:END(), .T.),) }
// Aqui tengo los cSortOrder \\ la segunda :aCols[02]:bLClickHeader:= {|| SelTag(S08,"ctadescrip") } no me activa flechita
:aCols[1]:cSortOrder := "cuenta"
:aCols[2]:cSortOrder := "ctadescrip"
:aCols[01]:bLClickHeader:= {|| SelTag(S08,"cuenta") }
:aCols[02]:bLClickHeader:= {|| SelTag(S08,"ctadescrip") }
END
REDEFINE SAY oTextBusc PROMPT cTextBusc ID 151 OF oSDlg UPDATE COLOR CLR_BLACK,CLR_YELLOW FONT oFont
oTextBusc:cTooltip:= {"Click sobre cabecera de columna para busqueda respectiva","BUSQUEDA INCREMENTAL "}
oSBrw:bSeek := {|c| (S08)->( DbSeek(UPPER(c),.T.) ) }
oSBrw:oSeek := oTextBusc
ACTIVATE DIALOG oSDlg ON INIT ( oSBrw:SetFocus() )
(S08)->( DbSetOrder(1) )
oFont:End()
RETURN (.T.)
STATIC FUNCTION SelTag(S08,STag)
DO CASE
CASE STAG = "cuenta"
(S08)->( DbSetOrder(1) )
CASE STAG = "ctadescrip"
(S08)->( DbSetOrder(2) )
ENDCASE
RETURN NIL
Espero que alguien del foro me pueda ayudar, por fas, ya que me vi en la necesidad de usar otro indice en la segunda columna ,pero no me activa la flechita
Saludos cordiales .
Atte: Adrian C. C.