FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour xBrowse refresh problem
Posts: 332
Joined: Thu Nov 17, 2005 09:11 PM
xBrowse refresh problem
Posted: Sun Mar 04, 2018 07:16 PM

Hi all, I have this code:

Use VENDA INDEX VENDA Shared New alias "VENDA" via "DBFCDX"
Database oVenda

...

oBrwPed := TXBrowse():New( oDlgPed )
oBrwPed:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrwPed:CreateFromResource( 109 )
oBrwPed:nColDividerStyle := 5 //LINESTYLE_BLACK // COLUNAS
oBrwPed:lColDividerComplete := .T.
oBrwPed:nHeaderHeight :=30
oBrwPed:nStretchCol := STRETCHCOL_LAST
oBrwPed:cAlias := "VENDA"

oCol := oBrwPed:AddCol()
oCol:bStrData := { || VENDA->NUMERO }
oCol:cHeader := "PEDIDO"

oCol := oBrwPed:AddCol()
oCol:bStrData := { || DTOC(VENDA->DATA)}
oCol:cHeader := "DATA"

oCol := oBrwPed:AddCol()
oCol:bStrData := { || VENDA->HORA }
oCol:cHeader := "HORA"

oCol := oBrwPed:AddCol()
oCol:bStrData := { || VENDA->CNPJCPF }
oCol:cHeader := "CNPJ/CPF"

oCol := oBrwPed:AddCol()
oCol:bStrData := { || SUBSTR(VENDA->CLIENTE,1,35) }
oCol:cHeader := "NOME CLIENTE"

oCol := oBrwPed:AddCol()
oCol:bStrData := { || Tran(VENDA->VALOR,"@E 9,999,999.99") }
oCol:cHeader := "BRUTO"
oCol:nDataStrAlign := AL_RIGHT

oCol := oBrwPed:AddCol()
oCol:bStrData := { || Tran(VENDA->DESCONTO,"@E 9,999,999.99") }
oCol:cHeader := "DESCONTO"
oCol:nDataStrAlign := AL_RIGHT

oCol := oBrwPed:AddCol()
oCol:bStrData := { || Tran(VENDA->LIQUIDO,"@E 9,999,999.99") }
oCol:cHeader := "LIQUIDO"
oCol:nDataStrAlign := AL_RIGHT

oCol := oBrwPed:AddCol()
oCol:bStrData := { || VENDA->VP }
oCol:cHeader := "V/P"
oCol:nDataStrAlign := AL_CENTER
oCol:nHeadStrAlign := AL_CENTER

oCol := oBrwPed:AddCol()
oCol:bStrData := { || DTOC(VENDA->DTBAIXA)}
oCol:cHeader := "DT BAIXA"

oBrwPed:SetoDbf(oVenda)

I some point i need to delete one record and I use:

oVenda:Delete()

oBrwPed:Refresh()

In File the record is deleted but the xbrowse still display the record, if i close and open again xbrowse are empty.
How I can refresh the xbrowser properly after delete record?

Thanks in advance.

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: xBrowse refresh problem
Posted: Mon Mar 05, 2018 06:27 AM
Please use the recommended way to define the xbrowse like this

Code (fw): Select all Collapse
FWNumFormat( "E", .t. )  // Keep this at the beginning of your Main prg

Use VENDA INDEX VENDA Shared New alias "VENDA" via "DBFCDX"
Database oVenda


//  DEFINE DIALOG ....

REDEFINE oBrwPed ID 109 OF oDlgPed DATASOURCE oVenda ;
   COLUMNS "PEDITO", "DATA", "HORA", "CNPJCPF", "LEFT(CLIENTE,35)", "VALOR", "DESCONTO", "LIQUIDO", "VP", "DTBAIXA" ;
   HEADERS nil,      nil,     nil,  "CNPJ/CPF", "NOME CLIENTE",     "BRUTO", nil,         nil,     "V/P","DT BAIXA" ;
   LINES
   
WITH OBJECT oBrwPed
   :nMarqueeStyle       := MARQSTYLE_HIGHLROW
   :nColDividerStyle    := 5 //LINESTYLE_BLACK // COLUNAS
   :nHeaderHeight       :=30 
   :nStretchCol         := STRETCHCOL_LAST 
   WITH OBJECT aCols[ 9 ]
      :nDataStrAlign    := AL_CENTER
      :nHeadStrAlign    := AL_CENTER
   END
END

ACTIVATE DIALOG oDlgPed



Now when you want to delete a record,
CALL
Code (fw): Select all Collapse
oBrwPed:Delete()


No need to call Refresh() also.

Note: XBrowse automatically assigns the picture clause and also decides left/right aligns
Regards



G. N. Rao.

Hyderabad, India
Posts: 332
Joined: Thu Nov 17, 2005 09:11 PM
Re: xBrowse refresh problem
Posted: Mon Mar 05, 2018 04:06 PM
nageswaragunupudi wrote:Please use the recommended way to define the xbrowse like this

Code (fw): Select all Collapse
FWNumFormat( "E", .t. )  // Keep this at the beginning of your Main prg

Use VENDA INDEX VENDA Shared New alias "VENDA" via "DBFCDX"
Database oVenda


//  DEFINE DIALOG ....

REDEFINE oBrwPed ID 109 OF oDlgPed DATASOURCE oVenda ;
   COLUMNS "PEDITO", "DATA", "HORA", "CNPJCPF", "LEFT(CLIENTE,35)", "VALOR", "DESCONTO", "LIQUIDO", "VP", "DTBAIXA" ;
   HEADERS nil,      nil,     nil,  "CNPJ/CPF", "NOME CLIENTE",     "BRUTO", nil,         nil,     "V/P","DT BAIXA" ;
   LINES
   
WITH OBJECT oBrwPed
   :nMarqueeStyle       := MARQSTYLE_HIGHLROW
   :nColDividerStyle    := 5 //LINESTYLE_BLACK // COLUNAS
   :nHeaderHeight       :=30 
   :nStretchCol         := STRETCHCOL_LAST 
   WITH OBJECT aCols[ 9 ]
      :nDataStrAlign    := AL_CENTER
      :nHeadStrAlign    := AL_CENTER
   END
END

ACTIVATE DIALOG oDlgPed



Now when you want to delete a record,
CALL
Code (fw): Select all Collapse
oBrwPed:Delete()


No need to call Refresh() also.

Note: XBrowse automatically assigns the picture clause and also decides left/right aligns


Thank you Mr Nages

Continue the discussion