Páginas

terça-feira, 28 de fevereiro de 2017

Aula 1078 - WinDev Tabelas 049/... - Tabela Diversos Filtros e Ordem - TableEnableFilter









Video no Youtube Se Gostou clique aqui para dar joinha





https://doc.windev.com/en-US/?1000017149&name=TableEnableFilter




WinDev - Tabela - 001/... Ancorar Tabela e coluna
WinDev - Tabela - 002/... Esconder ou Mostrar Coluna Tabela 
WinDev - Tabela - 003/... Mudar Cor e Fundo da Coluna da Tabela 
WinDev - Tabela - 004/... Mudar Largura e Fonte da Coluna da Tabela 
WinDev - Tabela - 005/... Coluna de valor Deixar em Branco 
WinDev - Tabela - 006/... Alterar Nome,Cor,Cor de Fundo da Coluna da Tabela 
WinDev - Tabela - 007/... Alterar ordem das Colunas por Programacao
WinDev - Tabela - 008/... TableSeek Pesquizar se Existe
WinDev - Tabela - 009/... TableSelectPlus - Seleciona Iten tabela
WinDev - Tabela - 010/... TableSort - Classifica Coluna
WinDev - Tabela - 011/... Zoom
WinDev - Tabela - 012/... for Each Row Of - Percorrer
WinDev - Tabela - 013/... Selecionar Varias Linhas
WinDev - Tabela - 014/... Balao - Tabela ToolTip
WinDev - Tabela - 015/... Coluna Contrainer
WinDev - Tabela - 016/... Sum - Como Mudar Nome
WinDev - Tabela - 017/... TableInfoXY - Saber Nome,Posição e Linha da Coluna 
WinDev - Tabela - 018/... Guardar e Recuperar Posição Tabela
WinDev - Tabela - 019/... TableInputsearch
WinDev - Tabela - 020/... Descobrir Posição cliente Novo
WinDev - Tabela - 021/... Saber quantos e nome das Colunas
WinDev - Tabela - 022/... Tableselect - Selecionar varias linhas tabela e Ler
WinDev - Tabela - 023/... BuildBrowsingTable - Cria Tabela Manual
WinDev - Tabela - 024/... Somar Valor Tabela Automatico ou Manual - rowtotal
WinDev - Tabela - 025/... Eventos no cabecalho da Tabela
WinDev - Tabela - 026/... Tabela - Break - Totalizadores
WinDev - Tabela - 027/... Tabela - Colorir Linha
WinDev - Tabela - 028/... Double click Na seleção Item
WinDev - Tabela - 029/... Tabela - Descrição, Em Varias Linhas Coluna Tabela
WinDev - Tabela - 030/... Tabela - Fazer titulos com colunas
WinDev - Tabela - 031/... Tabela - Sql - Query - Agrupar Datas Nas Notas
WinDev - Tabela - 032/... Pintando Tabela
WinDev - Tabela - 033/... FOR EACH / WHERE / on / Ordem
WinDev - Tabela - 034/... Filter 
WinDev - Tabela - 035/... HFilter
WinDev - Tabela - 036/... Ultimo Registro - TableSelectPlus
WinDev - Tabela - 037/... Desabilitar Edição Tabela
WinDev - Tabela - 038/... Pesquisa - TableEnableFilter
Blog - WinDev - Relatorio - 039/... Copias - IParameter - Icopies
WinDev - Tabela - 040/... Cor Negativo Coluna Saldo
WinDev - Tabela - 041/... - Criar Tabela via programação
Borda - TAbela - 042/... - Novidade Windev22
..VisibleInExportAndPrint - Colunas Nao Levar Exportar e Imprimir - WinDev - Tabela - 043
BuildBrowsingTable - Monta Tabelas Automaticamente - WinDev - Tabelas - 044
FileToMemoryTable - Monta Tabela Query - WinDev - Tabela - 045
Titulos e SubTitulos - Tabela - 046/...
Titulos e SubTitulos - Manualmente - Tabela - 047/...
Bloquear ou Liberar Lupa/mover Coluna Tabela - Windev Tabela - 048/...
TableEnableFilter - Tabela Diversos Filtros e ordem - WinDev Tabela - 049/...
Ordem Crescente/Decrescente - WinDev Tabela - 050/...




Nessa aula vou mostrar Diversos Filtros e Ordem
vou Fazer filtros por Letras
Filtros maior,menor,etc..
Ordem diversas na mesma query



-- Select

SELECT
    cliente.id_cliente AS cli_id_cliente,
    cliente.foto AS cli_foto,
    cliente.id_empresa_cliente AS cli_id_empresa_cliente
FROM
    cliente
ORDER BY {parametro_ordem}
   
--cliente.razao_social_nome
--cliente.id_empresa_cliente

-- Segredo = no lado do order by , fiz um parametro
//----------------------------------------


//codigo da windows
gn_classificacao is int=1
mostra_cli(gn_classificacao)



//Selection a row of combo_ordem
gn_classificacao=COMBO_Ordem  // Razao social =1 // Codigo =2
EDT_PROCURA=""
//Control Alt Espaco
SWITCH gn_classificacao
    CASE 1 // Razão Social
        TableEnableFilter(TABLE_cliente.COL_razao_social_nome,filterStartsWith,EDT_PROCURA)
    CASE 2 // codigo
        TableEnableFilter(TABLE_cliente.COL_Id_empresa_cliente,filterGreaterOrEqual,0)
    CASE 3 // nome fantasia
        TableEnableFilter(TABLE_cliente.COL_nome_fantasia,filterStartsWith,EDT_PROCURA)
    CASE 4 // cnpjf/cpf
        TableEnableFilter(TABLE_cliente.COL_cnpj_cpf,filterStartsWith,EDT_PROCURA)
    CASE 5 // inscricao estadual
        TableEnableFilter(TABLE_cliente.COL_InsEst,filterStartsWith,EDT_PROCURA)
    CASE 6 // Telefone    
        TableEnableFilter(TABLE_cliente.COL_Telefone,filterStartsWith,EDT_PROCURA)
    OTHER CASE
END
mostra_cli(gn_classificacao)
ReturnToCapture(EDT_PROCURA)
//-----------------------------


//Whenever modifying edt_procura
SWITCH gn_classificacao
    CASE 1 // Razão Social
        TableEnableFilter(TABLE_cliente.COL_razao_social_nome,filterContains,EDT_PROCURA)// IF CBOX_Procurarazao=True
    CASE 2 // codigo
        TableEnableFilter(TABLE_cliente.COL_Id_empresa_cliente,filterEqual,EDT_PROCURA)
    CASE 3 // nome fantasia
        TableEnableFilter(TABLE_cliente.COL_nome_fantasia,filterContains,EDT_PROCURA)// IF CBOX_Procurarazao=True
    CASE 4 // cnpjf/cpf
        TableEnableFilter(TABLE_cliente.COL_cnpj_cpf,filterContains,EDT_PROCURA)
    CASE 5 // inscricao estadual
        TableEnableFilter(TABLE_cliente.COL_InsEst,filterContains,EDT_PROCURA)
    CASE 6 // Telefone    
        TableEnableFilter(TABLE_cliente.COL_Telefone,filterContains,EDT_PROCURA)
    OTHER CASE
END




// Filtro Letras

PROCEDURE filtro_letra(s_recebe_letra is string="") // a ou b ou c , etc..
//Inicio
TableEnableFilter(TABLE_cliente.COL_razao_social_nome,filterStartsWith,s_recebe_letra)

//Para cada letra coloque abaixo
filtro_letra("A")
//---------------------------------------






//Igual
SWITCH gn_classificacao
    CASE 1 // Razão Social
        TableEnableFilter(TABLE_cliente.COL_razao_social_nome,filterEqual,EDT_PROCURA)// IF CBOX_Procurarazao=True
    CASE 2 // codigo
        TableEnableFilter(TABLE_cliente.COL_Id_empresa_cliente,filterEqual,EDT_PROCURA)
    CASE 3 // nome fantasia
        TableEnableFilter(TABLE_cliente.COL_nome_fantasia,filterEqual,EDT_PROCURA)// IF CBOX_Procurarazao=True
    CASE 4 // cnpjf/cpf
        TableEnableFilter(TABLE_cliente.COL_cnpj_cpf,filterEqual,EDT_PROCURA)
    CASE 5 // inscricao estadual
        TableEnableFilter(TABLE_cliente.COL_InsEst,filterEqual,EDT_PROCURA)
    CASE 6 // Telefone    
        TableEnableFilter(TABLE_cliente.COL_Telefone,filterEqual,EDT_PROCURA)
    OTHER CASE
END

//Menor ou Igual
// filterLessOrEqual

//Menor
// filterLess

//Maior  ou igual
// filterGreaterOrEqual

//Maior
//filterGreater

//Contem
//filterContains

//Inicio
// filterStartsWith

//Final
//filterEndsWith




PROCEDURE mostra_cli(n_tipo_ordem is int=1)
SWITCH n_tipo_ordem
    CASE 1 // Nome
        QRY_cliente_ler.parametro_ordem="cliente.razao_social_nome"
    CASE 2 // Codigo
        QRY_cliente_ler.parametro_ordem="cliente.id_empresa_cliente"
    CASE 3 // Fantasia
        QRY_cliente_ler.parametro_ordem="cliente.nome_fantasia"
    CASE 4 // cnpjf/cpf
        QRY_cliente_ler.parametro_ordem="cliente.cnpj_cpf"
    CASE 5 // inscricao estadual
        QRY_cliente_ler.parametro_ordem="cliente.inscricao_estadual"
    CASE 6 // Telefone
        QRY_cliente_ler.parametro_ordem="cliente.telefone"
    OTHER CASE
        QRY_cliente_ler.parametro_ordem="cliente.razao_social_nome"
END
IF filtro_somente_cliente_fornecedor=1 THEN
    QRY_cliente_ler.param_somente_cliente=Null
    QRY_cliente_ler.param_somente_fornecedor=Null
ELSE
   IF filtro_somente_cliente_fornecedor=2 THEN
        QRY_cliente_ler.param_somente_cliente=1
        QRY_cliente_ler.param_somente_fornecedor=Null
   ELSE
        QRY_cliente_ler.param_somente_cliente=Null
        QRY_cliente_ler.param_somente_fornecedor=1
   END          
END
// gn_somente_cliente_fornecedor=1 // 1=todos 2=Somente Cliente 3=Somente Fornecedore
//1-Normal
//2-Inativo
//3-Bloqueado
//4-Sem Contrato
//5-Todos
IF filtro_situacao=5 THEN // 5=Todos
ELSE   
    IF filtro_somente_cliente_fornecedor=1 // todos THEN
        QRY_cliente_ler.param_situacao_cliente=filtro_situacao
        QRY_cliente_ler.param_situacao_fornecedor=filtro_situacao   
    ELSE
        IF filtro_somente_cliente_fornecedor=2 THEN //somente clientes
            QRY_cliente_ler.param_situacao_cliente=filtro_situacao
            QRY_cliente_ler.param_situacao_fornecedor=Null
        ELSE // somente fornecedore
            QRY_cliente_ler.param_situacao_cliente=Null
            QRY_cliente_ler.param_situacao_fornecedor=filtro_situacao
        END
    END
END
IF filtro_id_representante=0 THEN
ELSE
    QRY_cliente_ler.Param_representante_inicial=filtro_id_representante // caso nao informar nao executara esse filtro
    QRY_cliente_ler.Param_representante_final=filtro_id_representante
END

HExecuteQuery(QRY_cliente_ler,hQueryDefault)
TableDisplay(TABLE_cliente)

cy_valor_receber is currency=0
cy_valor_pagar is currency=0
cy_valor_diferenca is currency=0