1.- Cuando hago una busqueda incremental no veo lo que estoy digitando, es decir, empiezo a teclear y el xBrowse se mueve al primer registro que cumple el criterio de busqueda, pero no veo lo que estoy tecleando, la duda es como le digo al xBrowse que busque el valor contenifo en un get dentro del mismo dialogo?
2.- La busqueda incremental solo encuentra concordancia al inicio del contenido del campo, ¿Como de digo que busque el valor buscado dentro de todo el contenido del campo? Ej. si busco "TORRES" y el nombre de mi cliente es SANDRA TORRES la busqueda no lo va a detectar, ya que "TORRES" no esta al inicio del campo. Adicionalmente desearia que se hiciera un filtrado del resultado obtenido y solo sea eso lo que me muestre en mi xBrowse, les paso parte de mi código para darle una mejor idea de lo que hago.
Muchas gracias por anticipado.
Code: Select all
Public oDlg, oBrw, oGet1
Public cBusca := space(25)
USE &dbcust shared new alias clientes
index on cliysub to &dbidx1
index on razonsoc to &dbidx2
index on razoncom to &dbidx3
index on contacto to &dbidx4
index on conta2 to &dbidx5
index on dir5b to &dbidx6
close all
use &dbcust shared new alias clientes
set index to &dbidx1,&dbidx2,&dbidx3,&dbidx4,&dbidx5,&dbidx6
DEFINE DIALOG oDlg resource "dlgverdb8"// FROM 5,10 TO 20,60
oBrw := TXBrowse():New( oDlg )
//ESTILOS DE LINEAS
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW //barra selectora
oBrw:nColDividerStyle := LINESTYLE_INSET
oBrw:nRowDividerStyle := LINESTYLE_INSET
oBrw:lColDividerComplete := .t. //completa pintado hasta el footer cuando lineas no llenan todo el browse
//HEADERS Y FOOTERS
oBrw:nHeaderHeight := 22 //Altura cabeceras de col
oBrw:lFooter := .t. //Que tendrá footer
oBrw:nFooterLines := 1 //Lineas del footer
oBrw:nFooterHeight := 22 //Altura del Footer
oBrw:lRecordSelector := .t. //poner o no, COL de la flechita de la izq
//COLORES (texto y fondo del texto)
oBrw:bClrHeader := {|| { nRGB(152, 251, 152), nRGB(47, 79, 79) } }//{|| { nRGB(140, 0, 0), nRGB(229,0,0) } } // VERDECITO
oBrw:bClrFooter := oBrw:bClrHeader
oBrw:bClrStd := {|| { nRGB( 0, 0, 0), nRGB(255,248,220) } } // colores para lineas normales
oBrw:bClrSel := {|| { nRGB( 0, 0,255), nRGB(241,222,088) } } // para barra de linea selecc cuando el control no tiene el foco
oBrw:bClrSelFocus := {|| { nRGB( 0, 0, 0), nRGB(248,195, 34) } } // para barra de linea selecc cuando el control tiene el foco
oBrw:nRowHeight := 19 //altura entre lineas
//COLUMNAS DEL BROWSE
oCol = oBrw:AddCol()
oCol:bStrData = { || str(clientes->no_clien)+"-"+str(clientes->no_subcli) }
oCol:nDataStrAlign := 0
oCol:cHeader = "No. de cliente"
oCol:cFooter = "No. de cliente"
oCol:nWidth = 80
oCol:bLClickHeader:= {|| DbSetorder(1),oBrw:Gotop()}
oCol = oBrw:AddCol()
oCol:bStrData = { || clientes->razonsoc }
oCol:nDataStrAlign := 0
oCol:cHeader = "Razon social"
oCol:cFooter = "Razon social"
oCol:nFootStrAlign := 0
oCol:nWidth = 320
oCol:bLClickHeader:= {|| DbSetOrder(2),oBrw:Gotop() }
..... (MAS COLUMNAS)
oBrw:SetRDD()
oBrw:CreatefromResource(0)
REDEFINE GET oGet1 VAR cBusca ID 4 OF oDlg PICTURE "@!" UpDate
oBrw:bSeek := {|c| DbSeek( Upper( c ),oBrw:refresh() ) }
REDEFINE BTNBMP oBtn ID 2 OF oDlg ACTION ( lpegar := .T., lExit := .F., oDlg:end() )
REDEFINE BTNBMP oBtn ID 3 OF oDlg ACTION ( lExit := .T., oDlg:end(), ciccc:="N" )
ACTIVATE DIALOG oDlg CENTERED