Descrição:

Classe utilizada para a criação de colunas no browse (FWBrowse).


Métodos:



New

Descrição:
Método para instanciar a classe (construtor)


Sintaxe:

FWBrwColumn():New() -> Objeto FWBrwColumn


SetTitle

Descrição:
Método que permite informar o título da coluna


Sintaxe:

FWBrwColumn():SetTitle(<cTitle>)

Parâmetros

NomeTipoDescriçãoObrigatório
cTitle CaracterTítulo da colunaX


SetSize

Descrição:
Método que permite informar o tamanho da coluna


Sintaxe:

FWBrwColumn():SetSize(<nSize>)

Parâmetros

NomeTipoDescriçãoObrigatório
nSize NuméricoTamanho da coluna


SetType

Descrição:
Método que permite informar o tipo da coluna, como C para character, D para date e N para number


Sintaxe:

FWBrwColumn():SetType(<cType>)

Parâmetros

NomeTipoDescriçãoObrigatório
cTypeCaracterTipo da colunaX


SetPicture

Descrição:
Método que permite informar uma máscara para o dado na coluna


Sintaxe:

FWBrwColumn():SetPicture(<xPicture>)

Parâmetros

NomeTipoDescriçãoObrigatório
xPictureCaracter / Bloco de códigoTipo da coluna


SetData

Descrição:
Método que permite informar o retorno de dados da coluna no browse


Sintaxe:

FWBrwColumn():SetSize(<bData>)

Parâmetros

NomeTipoDescriçãoObrigatório
bDataBloco de códigoBloco de código com o retorno de dados da coluna


SetValid

Descrição:
Método que permite informar o bloco de validação da célula


Sintaxe:

FWBrwColumn():SetValid(<bValid>)

Parâmetros

NomeTipoDescriçãoObrigatório
bValidBloco de códigoBloco de código com o retorno da validação da célulaX


SetOptions

Descrição:
Indica as opções permitidas para a coluna (campos combo)


Sintaxe:

FWBrwColumn():SetOptions(aOptions)

Parâmetros

NomeTipoDescriçãoObrigatório
aOptionsArrayArray com as opções do combo. Exemplo: 

{ "1=Sim","2=Não" }

 X

Exemplo geral de uso da classe

//-------------------------------------------------------------------
/*{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"