Page 1 of 1
No me funciona AUTOSORT en XBROWSE
Posted: Wed Jul 19, 2017 6:12 am
by Enrrique Vertiz
Estimados buenas noches
No se si es el cansancio pero no logro hacer que funcione el AUTOSORT cargando una tabla DBF en un XBROWSE, aqui mi codigo :
@ 10,10 XBROWSE oBrw HEADERS "Cuenta", "Proveedor", "Razon Social - Nombre" ,"Td", "Numero", "Vencim", "En Soles", "En Dolares", "Auxiliar2", "Banco", "Provision" ;
COLUMNS "cdo_cuenta", "cdo_auxili", "des_auxili", "tip_docume", "num_docume", "fec_vencim", "sal_monnac", "sal_monext", "cdo_auxil2", "cdo_pagban", "mes_provis"+"-"+"vou_provis" ;
COLSIZES 70,100,240,30,120,85,100,100,80,50,100 OF oDlg ;
SIZE 555,170 PIXEL JUSTIFY .T. ;
DATASOURCE cAlias CELL LINES NOBORDER FOOTERS AUTOSORT FASTEDIT
Me muestra el XBrowse pero doy click en cualquier cabecera y no lo ordena, veo el ejemplo "xbceltip.prg" de los samples donde se explica esto y es lo mismo, todo igual, alguien sabe que estoy haciendo mal ... ?
Gracias
Re: No me funciona AUTOSORT en XBROWSE
Posted: Wed Jul 19, 2017 12:47 pm
by Sistem
nao estaria faltando escolher o indice da coluna? ex:
oCol := oBrw:aCols[ 1 ]
oCol:cSortOrder := 'CLIE1'
ocol:cToolTip:="Clique para ordenar por código"
oCol := oBrw:aCols[ 2 ]
oCol:cSortOrder := 'CLIE2'
ocol:cToolTip:="Clique para ordenar por Nome"
Re: No me funciona AUTOSORT en XBROWSE
Posted: Wed Jul 19, 2017 2:33 pm
by joseluisysturiz
Buen dia, aprovechando el tema del colega, no se si me pregunta es una locura....pero hay manera de que al usar el AutoSort tome por defecto una columna determinada.? algo como AUTOSORT(3). Si no, como decirle a xBrowse que la columna SORT por defecto es X columna, aunque mi ORDER BY de mi consulta sea por otra columna.? espero ayuden aclarar mi duda, saludos, gracias...
Re: No me funciona AUTOSORT en XBROWSE
Posted: Wed Jul 19, 2017 10:26 pm
by cmsoft
Puedes cambiarle el orden a la consulta con oQry:SetOrder("campo",.T.) (con Dolphin) antes de mostrarla en el browse, pero te cambiaria y asi mostrarla en el orden que desees. Eso es lo que hace el Xbrowse cuando presionamos click en la cabecera con AUTOSORT.
Espero te sirva
Re: No me funciona AUTOSORT en XBROWSE
Posted: Wed Jul 19, 2017 11:02 pm
by Enrrique Vertiz
Estimados, gracias por contestar, aunque aun no me queda claro, no es que el AUTOSORT hace que el mismo XBROWSE maneje el orden sin necesidad de ningun indice en el DBF, por lo menos es asi como esta en el ejemplo que viene en FWH xBCelTip ??
Re: No me funciona AUTOSORT en XBROWSE
Posted: Thu Jul 20, 2017 12:04 pm
by armando.lagunas
Ejemplo que utilizo y que me funciona en lo que comentan mas arriba:
Code: Select all
// la indexacion de campos de la tabla de paso
SELECT PA01
INDEX ON PA01->CODE TAG 1 TO (".\Temp\Remu001.cdx")
INDEX ON PA01->TARJ TAG 2 TO (".\Temp\Remu001.cdx")
INDEX ON PA01->RUTT TAG 3 TO (".\Temp\Remu001.cdx")
INDEX ON PA01->APEP TAG 4 TO (".\Temp\Remu001.cdx")
INDEX ON PA01->APEM TAG 5 TO (".\Temp\Remu001.cdx")
INDEX ON PA01->NOMB TAG 6 TO (".\Temp\Remu001.cdx")
SET INDEX TO (".\Temp\Remu001.cdx")
SET ORDER TO 6 // para activar el orden por defecto en la columna "nombre"
dbGotop()
en la definicicion del xbrowse y que tome por defecto el orden por nombre en la visualizacioon de campos.
Code: Select all
REDEFINE XBROWSE oBrw ID 20 COLUMNS "ACTI","CODE","TARJ","RUTT","APEP","APEM","NOMB" ALIAS "PA01" FONT oFont OF oDlg NOBORDER AUTOSORT FOOTERS
oBrw:aCols[1]:cHeader := "Activo" ; oBrw:aCols[1]:nWidth := 45
oBrw:aCols[2]:cHeader := "Código" ; oBrw:aCols[2]:nWidth := 50 ; oBrw:aCols[2]:nDataStrAlign := AL_CENTER ; oBrw:aCols[2]:cSortOrder := "1"
oBrw:aCols[3]:cHeader := "Tarjeta" ; oBrw:aCols[3]:nWidth := 65 ; oBrw:aCols[3]:nDataStrAlign := AL_CENTER ; oBrw:aCols[3]:cSortOrder := "2"
oBrw:aCols[4]:cHeader := "Rut" ; oBrw:aCols[4]:nWidth := 75 ; oBrw:aCols[4]:nDataStrAlign := AL_RIGHT ; oBrw:aCols[4]:cSortOrder := "3"
oBrw:aCols[5]:cHeader := "Apellido Paterno" ; oBrw:aCols[5]:nWidth := 135 ; oBrw:aCols[5]:cSortOrder := "4"
oBrw:aCols[6]:cHeader := "Apellido Materno" ; oBrw:aCols[6]:nWidth := 135 ; oBrw:aCols[6]:cSortOrder := "5"
oBrw:aCols[7]:cHeader := "Nombres" ; oBrw:aCols[7]:nWidth := 170 ; oBrw:aCols[7]:cSortOrder := "6"
oBrw:aCols[7]:nFootStrAlign := AL_RIGHT
Ojala el tip te sirva
Re: No me funciona AUTOSORT en XBROWSE
Posted: Thu Jul 20, 2017 2:02 pm
by Enrrique Vertiz
Armando, buen dia, gracias por tu explicacion, mas o menos asi lo estoy trabajando en este momento, pero pense que se podia trabajar sin crear los indices ... como en el ejemplo que viene en FWH xbceltip.prg que "no crea indices" y sin embargo te permite (al dar click en cada cabecera) ordenar todas las columnas, es mas si vuelves a dar click en la cabecera cambia el orden, cambiando entre ASC y DESC en cada click, esto es lo que no logro hacer funcionar.
Por ahora trabajo con indices, similar a tu ejemplo, gracias
Re: No me funciona AUTOSORT en XBROWSE
Posted: Thu Jul 20, 2017 6:23 pm
by joseluisysturiz
cmsoft wrote:Puedes cambiarle el orden a la consulta con oQry:SetOrder("campo",.T.) (con Dolphin) antes de mostrarla en el browse, pero te cambiaria y asi mostrarla en el orden que desees. Eso es lo que hace el Xbrowse cuando presionamos click en la cabecera con AUTOSORT.
Espero te sirva
Saludos CMSOFT, asi es que lo he hecho, pero como manejo el ORDER BY de la consulta para una cosa, y el mostrado de datos en el xbrowse de otra manera, alli es el detalle, tendria que cambiar a cada rato el ORDEER BY, quisiera que cuando haga el llenado del xbrowse mantenga el orden por una columna diferente a la del ORDER BY, cuando uso el AUTOSORT toma la columna 1, como haria si no tengo ORDER BY en mi consulta y quiero que me ordene mi xbrowse que el datasource es el query por la columna X.? saludos, gracias...
Re: No me funciona AUTOSORT en XBROWSE
Posted: Thu Jul 20, 2017 7:09 pm
by armando.lagunas
Jose Luis:
Has visto la posivilidad de crear una Vista o un procedimiento almacenado (FUNCION o PROCEDIMIENTO) en tu motor de base de datos con opciones usando la clausula IF...END y así dar con lo que necesitas?
aqui hay algo de como utilizarla para que te sirva de ejemplo:
http://forums.fivetechsupport.com/viewt ... =6&t=32245
he solucionado muchas cosas utilizando esta caracteristica en motores de base de datos como MySql o SQL Server.
es solo una sugerencia.
Saludos
Re: No me funciona AUTOSORT en XBROWSE
Posted: Thu Jul 20, 2017 8:16 pm
by joseluisysturiz
armando.lagunas wrote:Jose Luis:
Has visto la posivilidad de crear una Vista o un procedimiento almacenado (FUNCION o PROCEDIMIENTO) en tu motor de base de datos con opciones usando la clausula IF...END y así dar con lo que necesitas?
aqui hay algo de como utilizarla para que te sirva de ejemplo:
http://forums.fivetechsupport.com/viewt ... =6&t=32245
he solucionado muchas cosas utilizando esta caracteristica en motores de base de datos como MySql o SQL Server.
es solo una sugerencia.
Saludos
Armando, he leido el tema que me sugieres, revisare lo de VISTA en MYSQL y luego comento, saludos, gracias...