Hola.
Quisiera saber si es posible ocultar filas de un browse basándose en una condición y cómo tendría que hacerlo.
Gracias por adelantado.
Pregunta: xBrowse: ¿es posible ocultar filas según condición
-
- Posts: 134
- Joined: Sun Apr 23, 2006 9:00 am
Pregunta: xBrowse: ¿es posible ocultar filas según condición
Un saludo,
Fernando
Las Palmas de Gran Canaria
Fernando
Las Palmas de Gran Canaria
-
- Posts: 188
- Joined: Mon Jun 10, 2013 6:40 pm
Re: Pregunta: xBrowse: ¿es posible ocultar filas según condición
Que tal, yo para ocultar una columna lo tengo así :
oBrow:aCols[01]:Hide()
ya con algunos if o case, podrías ocultar algunas columnas
Espero y te sirva.
oBrow:aCols[01]:Hide()
ya con algunos if o case, podrías ocultar algunas columnas
Espero y te sirva.
- joseluisysturiz
- Posts: 2024
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: Pregunta: xBrowse: ¿es posible ocultar filas según condición
Con que estas alimentando el xbrowse, array, dbf, ado, mysq..? ya que dependiendo de que, podrias usar condicional al crean por ejemplo en mysql el qry, y mostraria las filas que cumplan la condicion que quieras. saludos...
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
- joseluisysturiz
- Posts: 2024
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: Pregunta: xBrowse: ¿es posible ocultar filas según condición
Asi es para columnas, pero el colega quiere es FILAS, es decir los renglones o registros, saludos...VitalJavier wrote:Que tal, yo para ocultar una columna lo tengo así :
oBrow:aCols[01]:Hide()
ya con algunos if o case, podrías ocultar algunas columnas
Espero y te sirva.
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
-
- Posts: 188
- Joined: Mon Jun 10, 2013 6:40 pm
Re: Pregunta: xBrowse: ¿es posible ocultar filas según condición
jejejeje tienes razón, son filas y no culumnas
-
- Posts: 134
- Joined: Sun Apr 23, 2006 9:00 am
Resuelto con índice temporal
Hola.
Lo he resuelto creando un índice temporal. Aquí dejo el código por si a alguien le es útil. Sobre un archivo con 25.000 registros ha ido como una moto.
El díalogo: un browse y una casilla de búsqueda.
El archivo: "CLIENTES".
El TAG: "CLIENTES"
El índice: "NOMBRE"
La búsqueda: sobre el campo "NOMBRE".
*-----------------------
Function ConsCltes(nCod)
*-----------------------
local oDlg, oBrw, oCadena
local cCadena := space(40)
local fFile1
local lFiltro := .f.
*---------------------------------------------------------------------------
if ! OpenDbf("CLIENTES", {"CLIENTES"}, (fFile1 := GetNewAlias()), .T.) ; return NIL ; end if
(fFile1)->(ordSetFocus("NOMBRE"))
*---------------------------------------------------------------------------
DEFINE DIALOG oDlg RESOURCE "DLG_BUSQUEDA" TITLE "Buscar"
*------------------------------------------------
REDEFINE XBROWSE oBrw ID 101 OF oDlg ALIAS (fFile1) ;
FIELDS (fFile1)->CODIGO, ota((fFile1)->NOMBRE) ;
HEADERS ota("Código"), "Nombre" ;
SIZES 64, 800 ;
ON DBLCLICK (nCod := (fFile1)->CODIGO, oDlg:End())
oBrw:bKeyDown := {|nKey, nFlags| if(nKey == VK_F12, ShowColSizes(oBrw), NIL),;
If(nKey == VK_RETURN, (nCod := (fFile1)->CODIGO, oDlg:End()), NIL)}
#include "xbrw.ch"
*------------------------------------------------
REDEFINE GET oCadena VAR cCadena ID 102 OF oDlg ;
VALID EVAL ({|| if(empty(cCadena), (oBrw:SetFocus(), .t.),;
((fFile1)->(ordCondSet("at(rtrim(cCadena), (fFile1)->NOMBRE) > 0", {|| at(rtrim(cCadena), (fFile1)->NOMBRE) > 0},,,,, RECNO(),,,,)),;
(fFile1)->(ordCreate(, "FILTRO", "(fFile1)->NOMBRE", {|| (fFile1)->NOMBRE},)),;
(fFile1)->(ordSetFocus("FILTRO")),;
(fFile1)->(dbGoTop()),;
oBrw:refresh(), oBrw:SetFocus(), lFiltro := .t., .T.))})
ACTIVATE DIALOG oDlg CENTERED ON PAINT (oBrw:goTop(), oCadena:SetFocus()) ;
VALID (if(lFiltro, (fFile1)->(ordDestroy("FILTRO")), NIL),;
.t.)
(fFile1)->(dbCloseArea())
return NIL
Lo he resuelto creando un índice temporal. Aquí dejo el código por si a alguien le es útil. Sobre un archivo con 25.000 registros ha ido como una moto.
El díalogo: un browse y una casilla de búsqueda.
El archivo: "CLIENTES".
El TAG: "CLIENTES"
El índice: "NOMBRE"
La búsqueda: sobre el campo "NOMBRE".
*-----------------------
Function ConsCltes(nCod)
*-----------------------
local oDlg, oBrw, oCadena
local cCadena := space(40)
local fFile1
local lFiltro := .f.
*---------------------------------------------------------------------------
if ! OpenDbf("CLIENTES", {"CLIENTES"}, (fFile1 := GetNewAlias()), .T.) ; return NIL ; end if
(fFile1)->(ordSetFocus("NOMBRE"))
*---------------------------------------------------------------------------
DEFINE DIALOG oDlg RESOURCE "DLG_BUSQUEDA" TITLE "Buscar"
*------------------------------------------------
REDEFINE XBROWSE oBrw ID 101 OF oDlg ALIAS (fFile1) ;
FIELDS (fFile1)->CODIGO, ota((fFile1)->NOMBRE) ;
HEADERS ota("Código"), "Nombre" ;
SIZES 64, 800 ;
ON DBLCLICK (nCod := (fFile1)->CODIGO, oDlg:End())
oBrw:bKeyDown := {|nKey, nFlags| if(nKey == VK_F12, ShowColSizes(oBrw), NIL),;
If(nKey == VK_RETURN, (nCod := (fFile1)->CODIGO, oDlg:End()), NIL)}
#include "xbrw.ch"
*------------------------------------------------
REDEFINE GET oCadena VAR cCadena ID 102 OF oDlg ;
VALID EVAL ({|| if(empty(cCadena), (oBrw:SetFocus(), .t.),;
((fFile1)->(ordCondSet("at(rtrim(cCadena), (fFile1)->NOMBRE) > 0", {|| at(rtrim(cCadena), (fFile1)->NOMBRE) > 0},,,,, RECNO(),,,,)),;
(fFile1)->(ordCreate(, "FILTRO", "(fFile1)->NOMBRE", {|| (fFile1)->NOMBRE},)),;
(fFile1)->(ordSetFocus("FILTRO")),;
(fFile1)->(dbGoTop()),;
oBrw:refresh(), oBrw:SetFocus(), lFiltro := .t., .T.))})
ACTIVATE DIALOG oDlg CENTERED ON PAINT (oBrw:goTop(), oCadena:SetFocus()) ;
VALID (if(lFiltro, (fFile1)->(ordDestroy("FILTRO")), NIL),;
.t.)
(fFile1)->(dbCloseArea())
return NIL
Un saludo,
Fernando
Las Palmas de Gran Canaria
Fernando
Las Palmas de Gran Canaria
Re: Pregunta: xBrowse: ¿es posible ocultar filas según condición
Fernando; solo de curioso
Probaste el filtro en una red?. Como responde?
gracias
Probaste el filtro en una red?. Como responde?
gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Chaco - Argentina
-
- Posts: 134
- Joined: Sun Apr 23, 2006 9:00 am
Re: Pregunta: xBrowse: ¿es posible ocultar filas según condición
Hola.
Falta probarlo en red, aunque precisamente ese era el problema, que estaba usando dbSetFilter() y se ralentizaba a veces bastante. Espero que funcione bien y mejor; mantendré informado en cuanto lo haya instalado en el usuario.
Falta probarlo en red, aunque precisamente ese era el problema, que estaba usando dbSetFilter() y se ralentizaba a veces bastante. Espero que funcione bien y mejor; mantendré informado en cuanto lo haya instalado en el usuario.
Un saludo,
Fernando
Las Palmas de Gran Canaria
Fernando
Las Palmas de Gran Canaria