//-------------------------------------------------------------------
/*{Protheus.doc} u_brwColTest
Função de exemplo de utilização da classe FWBrwColumn
@author Daniel Mendes
@since 03/07/2020
@version 1.0
*/
//-------------------------------------------------------------------
function u_brwColTest()
local oBrowse as object
local oColumn as object
local oDialog as object
local aColumns as array
local cAlias as char
oDialog := TDialog():New(0, 0, 600, 800,,,,,,,,,,.T.)
oBrowse := FWBrowse():New(oDialog)
cAlias := myTable()
aColumns := {}
oBrowse:SetDataTable()
oBrowse:SetAlias(cAlias)
oBrowse:DisableFilter()
oBrowse:DisableSeek()
oBrowse:DisableConfig()
oBrowse:DisableLocate()
oColumn := FWBrwColumn():New()
oColumn:SetType("N")
oColumn:SetData({|| (cAlias)->N_ID })
oColumn:SetTitle("Número")
oColumn:SetSize(15)
aAdd(aColumns, oColumn)
oColumn := FWBrwColumn():New()
oColumn:SetType("C")
oColumn:SetData({|| (cAlias)->C_TEXTO })
oColumn:SetTitle("Texto")
oColumn:SetSize(35)
aAdd(aColumns, oColumn)
oColumn := FWBrwColumn():New()
oColumn:SetType("D")
oColumn:SetData({|| (cAlias)->D_DATA })
oColumn:SetTitle("Data")
oColumn:SetSize(8)
aAdd(aColumns, oColumn)
oColumn := FWBrwColumn():New()
oColumn:SetType("N")
oColumn:SetData({|| (cAlias)->N_MOEDA })
oColumn:SetTitle("Moeda")
oColumn:SetSize(20)
oColumn:SetPicture("@E 999,999.99")
aAdd(aColumns, oColumn)
oColumn := FWBrwColumn():New()
oColumn:SetType("C")
oColumn:SetData({|| myData() })
oColumn:SetTitle("Meu título")
oColumn:SetSize(20)
aAdd(aColumns, oColumn)
oBrowse:SetColumns(aColumns)
oBrowse:Activate()
oDialog:Activate(,,,.T.)
(cAlias)->( DBCloseArea() )
FreeObj(oDialog)
oBrowse:Destroy()
FreeObj(oBrowse)
return
//-------------------------------------------------------------------
/*{Protheus.doc} myTable
Função responsável por criar uma tabela no SQLite temporário
@return cAlias - Character - Nome da tabela e também do alias
@author Daniel Mendes
@since 03/07/2020
@version 1.0
*/
//-------------------------------------------------------------------
static function myTable()
local cAlias as char
local aStruct as array
cAlias := GetNextAlias()
aStruct := {}
aAdd(aStruct, {"N_ID", "N", 15, 0})
aAdd(aStruct, {"C_TEXTO", "C", 50, 0})
aAdd(aStruct, {"D_DATA", "D", 8, 0})
aAdd(aStruct, {"N_MOEDA", "N", 10, 2})
DBCreate(cAlias, aStruct, "SQLITE_TMP")
DBUseArea(.T., "SQLITE_TMP", cAlias, cAlias, .T., .F.)
myRecords(cAlias)
return cAlias
//-------------------------------------------------------------------
/*{Protheus.doc} myRecords
Função responsável por criar registros para efeitos de testes
@return cAlias - Character - Alias da tabela
@author Daniel Mendes
@since 03/07/2020
@version 1.0
*/
//-------------------------------------------------------------------
static function myRecords(cAlias)
(cAlias)->( DBAppend(.T.) )
(cAlias)->N_ID := 1
(cAlias)->C_TEXTO := "001"
(cAlias)->D_DATA := Date()
(cAlias)->N_MOEDA := 1.99
(cAlias)->( DBCommit() )
(cAlias)->( DBAppend(.T.) )
(cAlias)->N_ID := 2
(cAlias)->C_TEXTO := "002"
(cAlias)->D_DATA := Date() + 1
(cAlias)->N_MOEDA := 10.00
(cAlias)->( DBCommit() )
return
//-------------------------------------------------------------------
/*{Protheus.doc} myData
Função de exemplo para utilização de retorno de dados na classe FWBrwColumn
@return Character - "Meus dados"
@author Daniel Mendes
@since 03/07/2020
@version 1.0
*/
//-------------------------------------------------------------------
static function myData()
return "Meus dados"