- Criado por Danilo Basilio Medeiros, última alteração por Daniel Mendes De Melo Sousa em 27 mai, 2024
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
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cTitle | Caracter | Título da coluna | X |
SetSize
Descrição:
Método que permite informar o tamanho da coluna
Sintaxe:
FWBrwColumn():SetSize(<nSize>)
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nSize | Numérico | Tamanho 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
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cType | Caractere | Tipo da coluna | X |
SetPicture
Descrição:
Método que permite informar uma máscara para o dado na coluna
Sintaxe:
FWBrwColumn():SetPicture(<xPicture>)
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| xPicture | Caractere / Bloco de código | Tipo da coluna |
SetReadVar
Descrição:
Método que permite informar o nome da variável presente na coluna
Sintaxe:
FWBrwColumn():SetReadVar(<cReadVar>)
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cReadVar | Caractere | Variável da coluna |
SetID
Descrição:
Método que permite informar um ID para a coluna
Sintaxe:
FWBrwColumn():SetID(<cID>)
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cID | Caractere | ID da coluna |
SetData
Descrição:
Método que permite informar o retorno de dados da coluna no browse
Sintaxe:
FWBrwColumn():SetSize(<bData>)
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| bData | Bloco de código | Bloco 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
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| bValid | Bloco de código | Bloco de código com o retorno da validação da célula | X |
SetOptions
Descrição:
Indica as opções permitidas para a coluna (campos combo)
Sintaxe:
FWBrwColumn():SetOptions(aOptions)
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| aOptions | Array | Array 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"