xBrowse() en una sola linea

xBrowse() en una sola linea

Postby Enrrique Vertiz » 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 24.02, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 519
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: xBrowse() en una sola linea

Postby FranciscoA » Wed Aug 07, 2013 2: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: Select all  Expand view
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: Select all  Expand view
 if !empty(aTitCols)
     AEval( oBrw:aCols, { |o,n| o:cHeader := aTitCols[n], o:nHeadStrAlign := AL_CENTER } )
  endif
 


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


Espero te sirva.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2114
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: xBrowse() en una sola linea

Postby FranciscoA » Wed Aug 07, 2013 2: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
User avatar
FranciscoA
 
Posts: 2114
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: xBrowse() en una sola linea

Postby Enrrique Vertiz » Wed Aug 07, 2013 2:46 am

Francisco, GRACIAS, creo que me voy a probar por comando como sugieres ...
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.02, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 519
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: xBrowse() en una sola linea

Postby FranciscoA » Wed Aug 07, 2013 4:25 am

Aqui tienes un ejemplo:
Code: Select all  Expand view
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
User avatar
FranciscoA
 
Posts: 2114
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 27 guests