FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xBrowse() en una sola linea
Posts: 582
Joined: Fri Oct 07, 2005 02:17 PM

xBrowse() en una sola linea

Posted: Wed Aug 07, 2013 12:11 AM

Saludos, soy nuevo en el uso del xBrowse y estoy tratando de usarlo en una sola línea, al estilo antiguo, tipo DBedit(), se puede ??
Por ejemplo tengo un arreglo y su titulo, hasta aquí me funciona Ok :

xBrowse ( aUsers, "Empresas a las que tiene acceso" )

Ahora aUsers{} tiene 2 columnas, como puedo hacer para asignarles un nombre/titulo a la columna ??, lo hice asi : (pero me bota error) :

xBrowse ( aUsers, "Empresas a las que tiene acceso", {"Codigo", "Nombre"} )

Que mas características puedo asignar en una sola línea, título, ancho, color, Etc.

Busque en xBrowse.ch pero no me quedo claro ....., gracias por su atención ...

Enrrique Vertiz Pitta

Lima-Peru

xHb 1.23.1026X, Fwh 25.01, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM

Re: xBrowse() en una sola linea

Posted: Wed Aug 07, 2013 02:28 AM
Enrique,
La function XBrowse, segun mi version, esta limitada a:
function XBrowse( uData, cTitle, lAutoSort, bSetUp, aCols, bSelect, lExcel, lFastEdit )

Sin embargo, puedes hacer algo como esto:
Code (fw): Select all Collapse
Function MyXBrowse( uData, cTitle, aTitCols, lAutoSort, bSetUp, aCols, bSelect, lExcel, lFastEdit )

   DEFAULT  uData    := Alias(), ;
            cTitle   := If( ValType( uData ) == 'C', uData, ;
                        If( ValType( uData ) == 'O', uData:ClassName(), ;
                        'XBROWSE' ) ), ;
            lAutoSort:= .f., ;
            bSetUp   := { || nil },;
            lExcel   := .t. ,;
            aTitCols:={}       //AQUI


Y despues de estas lineas:
if lAutoSort
@ nHt - 28, 10 say 'Search For :' size 30,10 pixel of oDlg
@ nHt - 28, 45 say oBrw:oSeek prompt oBrw:cSeek ;
size nWd-115,10 pixel update of oDlg ;
color CLR_RED,CLR_YELLOW
ATail( oDlg:aControls ):Cargo := 115
@ nHt - 28,nWd - 60 checkbox oBrw:lSeekWild prompt 'WildSeek' ;
size 50, 10 pixel of oDlg ;
on change ( oBrw:Seek(), oBrw:SetFocus() )
ATail( oDlg:aControls ):Cargo := -60
endif

Code (fw): Select all Collapse
  if !empty(aTitCols)
     AEval( oBrw:aCols, { |o,n| o:cHeader := aTitCols[n], o:nHeadStrAlign := AL_CENTER } )
  endif


Entonces ya podrias hacer:
Code (fw): Select all Collapse
xBrowse ( aUsers, "Empresas a las que tiene acceso", {"Codigo", "Nombre"} )


Espero te sirva.
Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM

Re: xBrowse() en una sola linea

Posted: Wed Aug 07, 2013 02:32 AM

Ahora bien, recuerda que existe el comando XBROWSE que es muy poderoso y facil de usar:
@1,1 XBROWSE oBrw OF oDlg ARRAY HEADERS SIZE LINES AUTOSORT FASTEDIT etc.
Saludos.

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 582
Joined: Fri Oct 07, 2005 02:17 PM

Re: xBrowse() en una sola linea

Posted: Wed Aug 07, 2013 02:46 AM

Francisco, GRACIAS, creo que me voy a probar por comando como sugieres ...

Enrrique Vertiz Pitta

Lima-Peru

xHb 1.23.1026X, Fwh 25.01, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM

Re: xBrowse() en una sola linea

Posted: Wed Aug 07, 2013 04:25 AM
Aqui tienes un ejemplo:
Code (fw): Select all Collapse
dbUseArea(.t.,,cPath+"\Usuarios","Usuarios",.t.)
cAlias:=Alias()

DEFINE DIALOG oDlg RESOURCE "USUARCTRL" TITLE "USUARIOS" ;
       FONT oFont TRANSPARENT

REDEFINE XBROWSE oBrw ID 118 OF oDlg ;
         ALIAS cAlias ;
         COLUMNS "Nombre","Administ" ;
         HEADERS "Nombre de usuario","Tipo de acceso" ;
         FOOTERS LINES CELL

   AEval( oBrw:aCols, { |o| o:nEditType := 0 ,;   //No editables
                            o:nHeadStrAlign := 2 } )  //texto encab/col centrado

   WITH OBJECT oBrw
      :nMarqueeStyle    := MARQSTYLE_HIGHLROW  //_HIGHLROWMS
      :nColDividerStyle:=LINESTYLE_LIGHTGRAY
      :nRowDividerStyle:=LINESTYLE_LIGHTGRAY
   END

Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql

Continue the discussion