Page 1 of 1

xbrowse - formato de columna numérica

Posted: Sat Jun 26, 2021 7:03 am
by Verhoven
Necesito poner en una columna un campo de una dbf que tiene valores numéricos con tres decimales, pero los quiero representar con "." para los miles y "," para los decimales.
Hasta ahora lo hacía con un transform, pero quiero hacerlo sin usar transform.

Ahora lo hago así:

Code: Select all | Expand

   REDEFINE XBROWSE oTbr;
             FIELDS iif(TB_MAQ->AUTOMATICA,'Automática','Manual'),;
                        transform(TB_MAQ->NUMCIERRE,'@E 999,999.999'),;
               ...
 

Quisiera saber si hay alguna manera de forma e hacer esto para que el valor no pierda su característica de ser un número, ya que al pasar previamnete por un transform lo convierte en caracter y esto implica gestión de cadenas en el EDIT correspondiente en el browse.

Pero me gustaría hacerlo así (con la representación del número como sale usando el transform):

Code: Select all | Expand

  REDEFINE XBROWSE oTbr;
             FIELDS iif(TB_MAQ->AUTOMATICA,'Automática','Manual'),;
                       TB_MAQ->NUMCIERRE,;
            ...
 

Re: xbrowse - formato de columna numérica

Posted: Sun Jun 27, 2021 4:31 am
by nageswaragunupudi
Please NEVER use FIELDS clause.
Use COLUMNS clause.

Code: Select all | Expand

REDEFINE XBROWSE oTbr ID <nID> OF oDlg ;
   DATASOURCE "TB_MAQ" ;
   COLUMNS "AUTOMATICA", "NUMCIERRE" ;
   PICTURES nil, "@E 999,999.999"
   
WITH OBJECT oTbr
   :aCols[ 1 ]:SetCheck( nil, .t., { "Automatica", "Manual" } )
   :nEditTypes := EDIT_GET
END
 

Re: xbrowse - formato de columna numérica

Posted: Wed Sep 29, 2021 11:41 am
by goosfancito
estimado, esto esta bien?

Code: Select all | Expand

 DEFINE DIALOG ::oDlg resource "DLGMENU"
   
   ::oBrw := TXBROWSE():new( ::oDlg )
      WITH ::oBrw
           :datasource := oQry
      ENDWITH
   
   ::oBrw:CreateFromResource( 100 )

   ACTIVATE DIALOG ::oDlg CENTERED
 

Re: xbrowse - formato de columna numérica

Posted: Wed Sep 29, 2021 11:56 am
by nageswaragunupudi
goosfancito wrote:estimado, esto esta bien?

Code: Select all | Expand

 DEFINE DIALOG ::oDlg resource "DLGMENU"
   
   ::oBrw := TXBROWSE():new( ::oDlg )
      WITH ::oBrw
           :datasource := oQry
      ENDWITH
   
   ::oBrw:CreateFromResource( 100 )

   ACTIVATE DIALOG ::oDlg CENTERED
 


No please.

Please use only the command syntax I posted above.

Re: xbrowse - formato de columna numérica

Posted: Wed Sep 29, 2021 12:16 pm
by goosfancito
Por favor podrias decirme como seria? esto no me estaría funcionando:

Code: Select all | Expand

METHOD prueba() CLASS TApp
   LOCAL cSql, oQry
   
   TEXT into cSql
   Select ;
   a.idfactura AS c2, ;
   a.fecha AS c3, ;
   a.idcontacto AS c4,
   FROM tbfacturados AS a
   ENDTEXT
   
   oQry := ::oCnx:QUERY( cSql )
   
   DEFINE DIALOG ::oDlg resource "DLGMENU"

   REDEFINE xbrowse ::oBrw ID 100 OF ::oDlg;
      datasource "oQry";
      COLUMNS "c2", "c3"

   ACTIVATE DIALOG ::oDlg CENTERED

   RETURN ( NIL )
 

Re: xbrowse - formato de columna numérica

Posted: Wed Sep 29, 2021 12:31 pm
by cnavarro
Ponle antes del activate dialog el oBrw:CreateFromResource() y prueba

Re: xbrowse - formato de columna numérica

Posted: Wed Sep 29, 2021 12:36 pm
by goosfancito
cnavarro wrote:Ponle antes del activate dialog el oBrw:CreateFromResource() y prueba

Lo intente antes de postear porque me tira este error

Error description: Error FiveWin/2 Duplicated Id: No: 101

Stack Calls
===========
Called from: .\source\classes\DIALOG.PRG => TDIALOG:DEFCONTROL( 366 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:CREATEFROMRESOURCE( 1208 )
Called from: Source\stock.prg => TAPP:PRUEBA( 74 )
Called from: Source\stock.prg => MAIN( 251 )

Re: xbrowse - formato de columna numérica

Posted: Wed Sep 29, 2021 3:31 pm
by cnavarro
y el createfromresource sin el id ?

Re: xbrowse - formato de columna numérica

Posted: Wed Sep 29, 2021 5:03 pm
by nageswaragunupudi
cnavarro wrote:Ponle antes del activate dialog el oBrw:CreateFromResource() y prueba


No.
Please do not use this. This is built-in the command itself.

NOT CORRECT

Code: Select all | Expand


     datasource "oQry";
 

How do you think xbrowse know what is the datasource?

CORRECT:

Code: Select all | Expand

    datasource oQry ;