Histórico da Página
...
Exemplos
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWBROWSE.CH"
User Function BrwTable()
Local oBrowse
Local oColumn
Local oDlg
//-------------------------------------------------------------------// Abertura da tabela//-------------------------------------------------------------------
DbSelectArea("SX2")
DbSetOrder(1)
//-------------------------------------------------------------------// Define a janela do Browse//-------------------------------------------------------
DEFINE DIALOG oDlg FROM 0,0 TO 600,800 PIXEL
//------------------------------------------------------------------- // Define o Browse //----------------------------------------------------------------
DEFINE FWBROWSE oBrowse DATA TABLE ALIAS "SX2" OF oDlg
//-------------------------------------------------------- // Cria uma coluna de marca/desmarca//----------------------------------------------
ADD MARKCOLUMN oColumn DATA { || If(.T./* Função com a regra*/,'LBOK','LBNO') };
DOUBLECLICK { |oBrowse| /* Função que atualiza a regra*/ };
HEADERCLICK { |oBrowse| /* Função executada no clique do header */ } OF oBrowse
//-------------------------------------------------------- // Cria uma coluna de status //--------------------------------------------------------
ADD STATUSCOLUMN oColumn DATA { || If(.T./* Função com a regra*/,'BR_VERDE','BR_VERMELHO') };
DOUBLECLICK { |oBrowse| /* Função executada no duplo clique na coluna*/ } OF oBrowse
//-------------------------------------------------------- // Adiciona legenda no Browse //--------------------------------------------------------
ADD LEGEND DATA 'X2_CHAVE $ "AA1|AA2"' COLOR "GREEN" TITLE "Chave teste 1" OF oBrowse
ADD LEGEND DATA '!(X2_CHAVE $ "AA1|AA2")' COLOR "RED" TITLE "Chave teste 2" OF oBrowse
//------------------------------------------------------------------- // Adiciona as colunas do Browse //------------------------------------------
ADD COLUMN oColumn DATA { || X2_CHAVE } TITLE "Chave" SIZE 3 OF oBrowse
ADD COLUMN oColumn DATA { || X2_ARQUIVO } TITLE "Arquivo" SIZE 10 OF oBrowse
ADD COLUMN oColumn DATA { || X2_NOME } TITLE DecodeUTF8("Descrição") SIZE 40 OF oBrowse
ADD COLUMN oColumn DATA { || X2_MODO } TITLE "Modo" SIZE 1 OF oBrowse
//------------------------------------------------------------------- // Ativação do Browse//----------------------------------------------------------------
ACTIVATE FWBROWSE oBrowse
//-------------------------------------------------------------------// Ativação do janela//-------------------------------------------------------------------
ACTIVATE DIALOG oDlg CENTERED
Return
|
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
User Function BrwTable()
Local oBrowse
Local oColumn
Local oDlg
// Abertura da tabela
DbSelectArea("SX2")
DbSetOrder(1)
//Define a janela do Browse
oDlg = TDialog():New(0, 0, 600, 800,,,,,,,,,,.T.)
// Define o Browse
oBrowse := FWBrowse():New(oDlg)
oBrowse:SetDataTable(.T.)
oBrowse:SetAlias("SX2")
// Cria uma coluna de marca/desmarca
oColumn := oBrowse:AddMarkColumns({||If(.T./*Função de Marca/desmaca*/,'LBOK','LBNO')},{|oBrowse|/*Função de DOUBLECLICK*/},{|oBrowse|/* Função de HEADERCLICK*/})
// Cria uma coluna de status
oColumn := oBrowse:AddStatusColumns({||If(.T./*Função de avaliação de status*/,'BR_VERDE','BR_VERMELHO')},{|oBrowse|/*Função de DOUBLECLICK*/})
// Adiciona legenda no Browse
oBrowse:AddLegend('X2_CHAVE $ "AA1|AA2"',"GREEN","Chave teste 1")
oBrowse:AddLegend('!(X2_CHAVE $ "AA1|AA2")',"RED","Chave teste 2")
// Adiciona as colunas do Browse
oColumn := FWBrwColumn():New()
oColumn:SetData({||X2_CHAVE})
oColumn:SetTitle("Chave")
oColumn:SetSize(3)
oBrowse:SetColumns({oColumn})
oColumn := FWBrwColumn():New()
oColumn:SetData({||X2_ARQUIVO})
oColumn:SetTitle("Arquivo")
oColumn:SetSize(10)
oBrowse:SetColumns({oColumn})
oColumn := FWBrwColumn():New()
oColumn:SetData({||X2_NOME})
oColumn:SetTitle(DecodeUTF8("Descrição"))
oColumn:SetSize(40)
oBrowse:SetColumns({oColumn})
oColumn := FWBrwColumn():New()
oColumn:SetData({||X2_MODO})
oColumn:SetTitle("Modo")
oColumn:SetSize(1)
oBrowse:SetColumns({oColumn})
// Ativação do Browse
oBrowse:Activate()
// Ativação da janela
oDlg:Activate(,,,.T.)
Return |
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
Function u_BrwArray
Local oDlg := Nil
Local oFwBrowse := Nil
Local aColumns := {}
Local aItems :={}
Local nX
oDlg = TDialog():New(0, 0, 600, 800, "Browse com Array",,,,,,,,,.T.)
oFwBrowse := FWBrowse():New(oDlg)
oFwBrowse:SetDataArrayoBrowse() //Define utilização de array
aItems := LoadItems() //Carregar os itens que irão compor o conteudo do grid
oFwBrowse:SetArray(aItems) //Indica o array utilizado para apresentação dos dados no Browse.
aColumns := RetColumns( aItems )
//Cria as colunas do array
For nX := 1 To Len(aColumns )
oFwBrowse:AddColumn( aColumns[nX] )
Next
oFwBrowse:SetOwner(oDlg)
oFwBrowse:SetDescription( "Browse com Array" )
oFwBrowse:Activate()
oDlg:Activate()
Return
Static Function RetColumns(aItems)
Local aColumns := {}
aAdd(aColumns, {;
"Coluna 1",; // [n][01] Título da coluna
{|oBrw| aItems[oBrw:At(), 1] },; // [n][02] Code-Block de carga dos dados
"N",; // [n][03] Tipo de dados
"@E 9999",; // [n][04] Máscara
2,; // [n][05] Alinhamento (0=Centralizado, 1=Esquerda ou 2=Direita)
10,; // [n][06] Tamanho
0,; // [n][07] Decimal
.T.,; // [n][08] Indica se permite a edição
{|| },; // [n][09] Code-Block de validação da coluna após a edição
.F.,; // [n][10] Indica se exibe imagem
Nil,; // [n][11] Code-Block de execução do duplo clique
"__ReadVar",; // [n][12] Variável a ser utilizada na edição (ReadVar)
{|| AlwaysTrue()},; // [n][13] Code-Block de execução do clique no header
.F.,; // [n][14] Indica se a coluna está deletada
.T.,; // [n][15] Indica se a coluna será exibida nos detalhes do Browse
{},; // [n][16] Opções de carga dos dados (Ex: 1=Sim, 2=Não)
"ID1"}) // [n][17] Id da coluna
aAdd(aColumns, {;
"Coluna 2",; // [n][01] Título da coluna
{|oBrw| aItems[oBrw:At(), 2] },; // [n][02] Code-Block de carga dos dados
"C",; // [n][03] Tipo de dados
"@!",; // [n][04] Máscara
0,; // [n][05] Alinhamento (0=Centralizado, 1=Esquerda ou 2=Direita)
10,; // [n][06] Tamanho
0,; // [n][07] Decimal
.F.,; // [n][08] Indica se permite a edição
{|| },; // [n][09] Code-Block de validação da coluna após a edição
.F.,; // [n][10] Indica se exibe imagem
Nil,; // [n][11] Code-Block de execução do duplo clique
__ReadVar,; // [n][12] Variável a ser utilizada na edição (ReadVar)
{|| AlwaysTrue()},; // [n][13] Code-Block de execução do clique no header
.F.,; // [n][14] Indica se a coluna está deletada
.T.,; // [n][15] Indica se a coluna será exibida nos detalhes do Browse
{},; // [n][16] Opções de carga dos dados (Ex: 1=Sim, 2=Não)
"ID2"}) // [n][17] Id da coluna
aAdd(aColumns, {;
"Coluna 3",; // [n][01] Título da coluna
{|oBrw| aItems[oBrw:At(), 3 ] },; // [n][02] Code-Block de carga dos dados
"C",; // [n][03] Tipo de dados
"@!",; // [n][04] Máscara
0,; // [n][05] Alinhamento (0=Centralizado, 1=Esquerda ou 2=Direita)
10,; // [n][06] Tamanho
0,; // [n][07] Decimal
.F.,; // [n][08] Indica se permite a edição
{|| },; // [n][09] Code-Block de validação da coluna após a edição
.F.,; // [n][10] Indica se exibe imagem
Nil,; // [n][11] Code-Block de execução do duplo clique
"__ReadVar",; // [n][12] Variável a ser utilizada na edição (ReadVar)
{|| AlwaysTrue()},; // [n][13] Code-Block de execução do clique no header
.F.,; // [n][14] Indica se a coluna está deletada
.T.,; // [n][15] Indica se a coluna será exibida nos detalhes do Browse
{},; // [n][16] Opções de carga dos dados (Ex: 1=Sim, 2=Não)
"ID3"}) // [n][17] Id da coluna
Return aColumns
Static Function LoadItems()
Local aLinha := {}
Local nX
For nX := 1 To 20
aAdd(aLinha,{ nX, StrZero(nX, 5), " Linha : "+ cValToChar(nX)})
Next
Return aLinha |
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
Function u_FwBrwQry()
Local oDlg As Object
Local aColumns As Array
Local nContFlds As Numeric
Local cAliasTemp As Character
Local oBrowse As Object
Local aFields As Array
cAliasTemp := MpSysOpenQuery( "SELECT * FROM " + RetSqlName("SC5") + " WHERE D_E_L_E_T_ = ''" )
DEFINE MSDIALOG oDlg TITLE "Browse com Query" FROM 0,0 TO 600, 800 PIXEL
oBrowse := FWBrowse():New()
oBrowse:SetDataTable( .T. )
oBrowse:SetAlias( cAliasTemp )
oBrowse:SetOwner( oDlg )
oBrowse:SetDescription( "Browse com Query" )
//-------------------------------------------------------------------
// Adiciona as colunas do Browse
//-------------------------------------------------------------------
aColumns := {}
aFields := {}
aAdd( aFields, "C5_FILIAL" )
aAdd( aFields, "C5_NUM" )
aAdd( aFields, "C5_TIPO" )
aAdd( aFields, "C5_CLIENTE" )
aAdd( aFields, "C5_PEDEXP" )
For nContFlds := 1 To Len( aFields )
AAdd( aColumns, FWBrwColumn():New() )
aColumns[Len(aColumns)]:SetData( &("{ || " + aFields[nContFlds] + " }") )
aColumns[Len(aColumns)]:SetTitle( aFields[nContFlds] )
aColumns[Len(aColumns)]:SetSize( 15 )
aColumns[Len(aColumns)]:SetID( aFields[nContFlds] )
Next nContFlds
oBrowse:SetColumns(aColumns)
oBrowse:Activate()
ACTIVATE MSDIALOG oDlg
Return |
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
Function u_FwBrwQry()
Local oDlg As Object
Local aColumns As Array
Local nContFlds As Numeric
Local aFields As Array
Local oBrowse As Object
Local cAliasQry As Character
Local aFilter As Array
DEFINE MSDIALOG oDlg TITLE "Browse de Query" FROM 0,0 TO 600, 800 PIXEL
cAliasQry := GetNextAlias()
oBrowse := FWBrowse():New()
oBrowse:SetDataQuery()
oBrowse:SetAlias(cAliasQry)
oBrowse:SetQuery("SELECT * FROM " + RetSqlName("SC5") + " WHERE D_E_L_E_T_ = ''")
oBrowse:SetOwner(oDlg)
oBrowse:SetDescription("Browse de Query")
//-------------------------------------------------------------------
// Adiciona as colunas do Browse
//-------------------------------------------------------------------
aColumns := {}
aFields := {}
aFilter := {}
aAdd( aFields, "C5_FILIAL" )
aAdd( aFields, "C5_NUM" )
aAdd( aFields, "C5_TIPO" )
aAdd( aFields, "C5_CLIENTE" )
aAdd( aFields, "C5_PEDEXP" )
aAdd(aFilter, { "C5_NUM", "Numero", "C", 006, 0, "@X"}) //"Cod. Revisão"
For nContFlds := 1 To Len( aFields )
AAdd( aColumns, FWBrwColumn():New() )
aColumns[Len(aColumns)]:SetData( &("{ || " + aFields[nContFlds] + " }") )
aColumns[Len(aColumns)]:SetTitle( aFields[nContFlds] )
aColumns[Len(aColumns)]:SetSize( 15 )
aColumns[Len(aColumns)]:SetID( aFields[nContFlds] )
Next nContFlds
oBrowse:SetColumns(aColumns)
oBrowse:Activate()
ACTIVATE MSDIALOG oDlg
Return |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas