¿Algún ejemplo del uso de xBrowse?

¿Algún ejemplo del uso de xBrowse?

Postby lagm » Tue May 19, 2020 4:17 am

Hola,

Ya estoy utilizando la versión FWH20.04, donde me encuentro con bastantes cambios respecto a versiones anteriores.
Estoy migrando una aplicación xHarbour modo consola, que maneja tablas dbf /cdx.

En estos días he cambiado la forma de trabajar las tablas dbf: como objetos.
Los registros los paso a arrays mediante FW_DbfToArray()
Los arreglos los trabajo con xBrowse.

Todo bien hasta este punto.

Lo que no he podido lograr (no encuentro un ejemplo claro), y esa es la ayuda que pido para poder seguir avanzando, es manejar una tabla de detalle, en donde
necesito contar con columnas de: código, descripción, precio, cantidad y total.

Entiendo que ya muchos programadores no usan dbf's pero debe quedar algún ejemplo actualizado para manejar tablas de detalle,
Agradezco su ayuda,

Luis Antonio
Curicó - Chile
Luis Antonio GM
Curicó-Chile
User avatar
lagm
 
Posts: 12
Joined: Sun Mar 22, 2020 5:49 pm

Re: ¿Algún ejemplo del uso de xBrowse?

Postby Antonio Linares » Tue May 19, 2020 4:42 am

Luis Antonio,

Revisa el ejemplo samples\fivedbu.prg que te dará una visión amplia de como trabajar con tablas, browses, etc

Desde c:\fwh\samples haz:

buildh.bat fivedbu
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41405
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: ¿Algún ejemplo del uso de xBrowse?

Postby leandro » Tue May 19, 2020 11:46 am

Una idea
Code: Select all  Expand view

    oBrwDoin := TXBrowse():New( oDlgDin )
    oBrwDoin:nMarqueeStyle         := MARQSTYLE_HIGHLROW
    oBrwDoin:nRowDividerStyle      := LINESTYLE_LIGHTGRAY
    oBrwDoin:nColDividerStyle      := LINESTYLE_LIGHTGRAY
    oBrwDoin:nHeaderLines          := 1
    oBrwDoin:lColDividerComplete   := .t.
    oBrwDoin:lRecordSelector       := .t.
    oBrwDoin:nStretchCol           := STRETCHCOL_LAST
    oBrwDoin:l2007                 := .f.
    oBrwDoin:oFont                 := oFont1  

    oCol          = oBrwDoin:AddCol()
    oCol:bStrData := {|| if(Len( detalle ) > 0 , Transform(detalle[oBrwDoin:nArrayAt]["id"],oLamcla:PIC9) ,"" ) }
    oCol:AddResource( "#8208" ) 
    oCol:cHeader  = "Item"
    oCol:nWidth   = 30
    oCol:nHeadStrAlign = AL_LEFT
    oCol:nDataStrAlign = AL_LEFT   
    oCol:oHeaderFont = oFont

    oCol          = oBrwDoin:AddCol()
    oCol:bStrData := {|| if(Len( detalle ) > 0 , detalle[oBrwDoin:nArrayAt]["idproducto"] ,"" ) }
    oCol:cHeader  = "Codigo"
    oCol:nWidth   = 85
    oCol:nHeadStrAlign = AL_LEFT
    oCol:nDataStrAlign = AL_LEFT   
    oCol:oHeaderFont = oFont
   
    oCol          = oBrwDoin:AddCol()
    oCol:bStrData := {|| if(Len( detalle ) > 0 , detalle[oBrwDoin:nArrayAt]["nombreproducto"] ,"" ) }
    oCol:cHeader  = "Descripción"
    oCol:nWidth   = 180
    oCol:nHeadStrAlign = AL_LEFT
    oCol:nDataStrAlign = AL_LEFT   
    oCol:oHeaderFont = oFont
    oCol:cFooter      = "TOTALES"   
    oCol:oFooterFont = oFont3

   
    oBrwDoin:SetArray( detalle )
    oBrwDoin:CreateFromResource( 102 ) 
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1485
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: ¿Algún ejemplo del uso de xBrowse?

Postby lagm » Tue May 19, 2020 2:26 pm

Gracias Antonio y Leandro,

Muy buenos ejemplos para seguir investigando hasta crear el módulo de mantenimiento encabezado detalle

Luis antonio
Luis Antonio GM
Curicó-Chile
User avatar
lagm
 
Posts: 12
Joined: Sun Mar 22, 2020 5:49 pm

Re: ¿Algún ejemplo del uso de xBrowse?

Postby FranciscoA » Tue May 19, 2020 3:53 pm

Hola.
Mira, en \samples, Yunus.prg, especificamente function EditInvoice( oRec ).
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: ¿Algún ejemplo del uso de xBrowse?

Postby wilsongamboa » Tue May 19, 2020 5:19 pm

buenos dias
aprovechando
como hago para si en la fila del browse tengo una fecha esta no sea editable en funcion de otro campo que tiene un valor digamos
campo = 'CD' ->edite la fecha de esa fila
campo = 'EF' ->no edite la fecha de esa fila
he probado con
oCol1:nEditType =0 para no editar o igual a otro valor para editar
PERO me deja editar o me bloquea TODA la columna
como o que uso para solo bloquear esa celda en esa fila
espero haberme explicado
muchas gracias por su ayuda
saludos
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 549
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ¿Algún ejemplo del uso de xBrowse?

Postby FranciscoA » Tue May 19, 2020 6:58 pm

Wilson, aquí tienes un ejemplo probado en 1709.
Code: Select all  Expand view
//----------------------------------------------------------//
// CELDA EDITABLE O NO  ( FAPSOFTWARE )
//---------------------------------------------------------//
Function CeldaDisable()
local oDlg, oBrw, n
LOCAL aAgenda := { {1,5,8,4,5,6,7} ,;
                   {1,4,9,4,5,6,7} ,;
                   {1,2,3,4,5,6,7} ,;
                   {1,5,0,4,5,6,7} ,;
                   {1,2,3,4,5,6,7} }

  DEFINE DIALOG oDlg  SIZE 450,200 PIXEL
  @5, 10 SAY "Celdas en Columna 3 son editables si valor en Columna 2 == 2" SIZE 200,10 PIXEL OF oDlg

  @ 20, 10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg  DATASOURCE aAgenda ;
           COLUMNS 1,2,3,4,5,6,7  HEADERS "LU","MA","MI","JU","VI","SA","DO";
           CELL LINES

  WITH OBJECT oBrw:aCols[3]
     :nEditType := 1
     :bEditWhen := {|| oBrw:aCols[2]:Value == 2 }  //Celda en col 3 es editable si valor celda en col 2 = 2
  END

  oBrw:CreateFromCode()

  AEVAL( oBrw:aCols,{|o| o:nWidth := 50 } )

  ACTIVATE DIALOG oDlg CENTERED
Return nil
 


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: ¿Algún ejemplo del uso de xBrowse?

Postby lagm » Tue May 19, 2020 7:32 pm

FranciscoA wrote:Hola.
Mira, en \samples, Yunus.prg, especificamente function EditInvoice( oRec ).
Saludos.


Eso es precisamente lo que necesito.
Es fundamental contar con ejemplos así de claros para quienes estamos iniciando o retomando la programación con FiveWin,
y personas que amablemente comparten sus conocimientos y experiencias.

Muchas gracias Francisco,

Luis Antonio
Curicó-Chile
Luis Antonio GM
Curicó-Chile
User avatar
lagm
 
Posts: 12
Joined: Sun Mar 22, 2020 5:49 pm

Re: ¿Algún ejemplo del uso de xBrowse?

Postby wilsongamboa » Tue May 19, 2020 9:00 pm

Francisco que barbaro!! justo lo que necesito
muchas gracias !!
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 549
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ¿Algún ejemplo del uso de xBrowse?

Postby FranciscoA » Tue May 19, 2020 9:30 pm

Me alegra mucho que hayan resuelto.
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 35 guests