...
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 DEFINE MSDIALOG oDlg TITLE "Browse comde Query" FROM 0,0 TO 600, 800 PIXEL cAliasQry := GetNextAlias() oBrowse := FWBrowse():New() oBrowse:SetAliasSetDataQuery(cAliasQry) oBrowse:SetDataQuerySetAlias(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 := {} 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 |
...