Pesquisar em uma Grid (MiniGui)

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

guanabara
Usuário Nível 1
Usuário Nível 1
Mensagens: 49
Registrado em: 03 Mar 2013 17:33
Localização: Aracatuba-SP

Pesquisar em uma Grid (MiniGui)

Mensagem por guanabara »

Ola a todos, sou novato aqui e preciso de ajuda, montei um programinha simples em MiniGui com uma grid que lista todos os dados de um banco em DBF, gostaria de criar campos para consultar que me mostre somente os dados filtrados nessa grid, até montei os campos para pesquisa mais eles ainda não funcionam pois não sei como fazer, alguém poderia me ajudar...
Grid.jpg
.
Editado pela última vez por Pablo César em 04 Mar 2013 12:30, em um total de 2 vezes.
Razão: O presente tópico foi movido da seção Harbour, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o Harbour.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Pesquisar em uma Grid (MiniGui)

Mensagem por Pablo César »

Seja bem vindo ao fórum !

Favor notar que a sua pergunta é específica de MiniGui e aqui nós temos uma seção especial para isso.
Se bem que Harbour une a todos praticamente, tudo dependerá saber qual é o tipo de banco de dados. Se você domina as antigas funções em Clipper como: Seek, Locate (não aconselho por deixar lento), Set Filter (depende o caso, também não aconselho). Então você poderá criar a sua própria função de pesquisa e retornar ao Grid na posição que atendeu a sua busca.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
guanabara
Usuário Nível 1
Usuário Nível 1
Mensagens: 49
Registrado em: 03 Mar 2013 17:33
Localização: Aracatuba-SP

Pesquisar em uma Grid (MiniGui)

Mensagem por guanabara »

Obrigado pela recepcao, meu banco de dados é DBF, domino alguns comandos em clipper como Set Filter to, só que não estou conseguindo encaixá-la do programa, ainda é muito confuso esse modo visual, olha meu anexo da imagem, aqueles dois Textbox e o Button ainda não funcionam, tentei colocar o filtro no PRG do clique do Button mais não deu certo, veja como está minhas Fontes:

MAIN.PRG

Código: Selecionar todos

#INCLUDE <hmg.ch>

FUNCTION Main
PUBLIC bBackColor:={ || IF( THIS.CELLROWINDEX/2==INT(THIS.CELLROWINDEX/2),;
                         { 234,244,255 },{ 255,255,255 } ) }, v_getpesqnome
   
   REQUEST DBFCDX

   RDDSETDEFAULT( "DBFCDX" )
   
   DBUSEAREA(.t.,,"sgf97.dbf","dbf",,.f.)
   
   SET INDEX TO "sgf97.cdx"
   
   dbf->( OrdSetFocus("nome") )
   
  IF NETERR()
   
      RETURN nil
   
   ENDIF
   
   Load Window Main
   Main.Center
   Main.Activate

RETURN nil


FUNCTION grid_data_columnwhen()
LOCAL aColumnWhen

    // { || .T. } PERMITE A EDICAO
    // { || .F. } NAO PERMITE A EDICAO

   aColumnWhen := { { || .F. },;
   { || .F. },;
   { || .F. },;
   { || .F. },;
   { || .F. },;
   { || .F. },;
   { || .F. },;
   { || .F. },;
   { || .F. },;
   { || .F. },;
    { || .F. } }
                   

RETURN aColumnWhen

FUNCTION grid_data_columncontrols()
LOCAL aColumnControls

   aColumnControls := { { "TEXTBOX","CHARACTER" },;
                        { "TEXTBOX","CHARACTER" },;
                        { "TEXTBOX","CHARACTER" },;
                        { "TEXTBOX","CHARACTER" },;
                        { "TEXTBOX","CHARACTER" },;
                        { "TEXTBOX","CHARACTER" },;
                        { "TEXTBOX","CHARACTER" },;
                        { "TEXTBOX","CHARACTER" },;
                        { "TEXTBOX","CHARACTER" },;
                        { "TEXTBOX","CHARACTER" },;
                        { "TEXTBOX","CHARACTER" } }
                        

RETURN aColumnControls 

FUNCTION grid_data_columnfields()
LOCAL aColumnFields

   aColumnFields := { "dbf->nb",;
                     "dbf->nome",;
                     "dbf->mun",;
                     "dbf->cpf",;
                     "dbf->nasc",;
                     "dbf->nit",;
                     "dbf->esp",;
                     "dbf->der",;
                     "dbf->desp",;
                     "dbf->conc",;
                     "dbf->tel"}

                    

RETURN aColumnFields 

FUNCTION grid_data_headers()
LOCAL aheaders

   aheaders := { "Beneficio",;
                 "Nome",;
                 "Municipio",;
                 "CPF",;
                 "Nascimento",;
                 "NIT",;
                 "Esp",;
                 "Der",;
                 "Desp",;
                 "Conc",;
                 "Tel"}
                

RETURN aheaders

FUNCTION grid_data_widths()
LOCAL awidths := {}

   awidths := { 85, 280, 180, 100, 100, 100,  50, 100, 50, 100, 100  }

RETURN awidths

FUNCTION grid_data_justify()
LOCAL ajustify := {}

   ajustify := { GRID_JTFY_CENTER,;
                 GRID_JTFY_LEFT,;
                 GRID_JTFY_LEFT,;
                 GRID_JTFY_CENTER,;
                 GRID_JTFY_CENTER,;
                 GRID_JTFY_CENTER,;
                 GRID_JTFY_CENTER,;
                 GRID_JTFY_CENTER,;
                 GRID_JTFY_CENTER,;
                 GRID_JTFY_CENTER,;
                 GRID_JTFY_CENTER }
                

RETURN ajustify

FUNCTION grid_data_DynamicBackColor()
LOCAL aDynamicBackColor := {}

   aDynamicBackColor := { bBackColor,;
                          bBackColor,;
                          bBackColor,;
                          bBackColor,;
                          bBackColor,;
                          bBackColor,;
                          bBackColor,;
                          bBackColor,;
                          bBackColor,;
                          bBackColor,;
                          bBackColor }
                         

RETURN aDynamicBackColor
MAIN.FMG

Código: Selecionar todos

* HMG-IDE Form Designer Generated Code
* (c) Roberto Lopez - http://sites.google.com/site/hmgweb

DEFINE WINDOW TEMPLATE AT 33 , 428 WIDTH 1352 HEIGHT 719 VIRTUAL WIDTH Nil VIRTUAL HEIGHT Nil TITLE "Sistema de Indeferidos - By Hacker" ICON NIL MAIN CURSOR NIL ON INIT main_form_oninit() ON RELEASE Nil ON INTERACTIVECLOSE main_form_oninteractiveclose() ON MOUSECLICK Nil ON MOUSEDRAG Nil ON MOUSEMOVE Nil ON SIZE Nil ON MAXIMIZE Nil ON MINIMIZE Nil ON PAINT Nil BACKCOLOR Nil NOTIFYICON NIL NOTIFYTOOLTIP NIL ON NOTIFYCLICK Nil ON GOTFOCUS Nil ON LOSTFOCUS Nil ON SCROLLUP Nil ON SCROLLDOWN Nil ON SCROLLLEFT Nil ON SCROLLRIGHT Nil ON HSCROLLBOX Nil ON VSCROLLBOX Nil

    DEFINE FRAME TextPesqNome
        ROW    10
        COL    90
        WIDTH  390
        HEIGHT 50
        FONTNAME "Arial"
        FONTSIZE 9
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        CAPTION "Nome"
        BACKCOLOR NIL
        FONTCOLOR NIL
        OPAQUE .T.
    END FRAME

    DEFINE TEXTBOX GetPesqNome
        ROW    20
        COL    140
        WIDTH  300
        HEIGHT 30
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        ONCHANGE Nil
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONENTER Nil
        HELPID Nil
        TABSTOP .T.
        VISIBLE .T.
        READONLY .F.
        RIGHTALIGN .F.
        DISABLEDBACKCOLOR Nil
        DISABLEDFONTCOLOR Nil
        CASECONVERT NONE
        MAXLENGTH 30
        BACKCOLOR NIL
        FONTCOLOR NIL
        INPUTMASK Nil
        FORMAT Nil
        VALUE ""
    END TEXTBOX

    DEFINE FRAME TextPesqNum
        ROW    10
        COL    500
        WIDTH  450
        HEIGHT 50
        FONTNAME "Arial"
        FONTSIZE 9
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        CAPTION "Municipio"
        BACKCOLOR NIL
        FONTCOLOR NIL
        OPAQUE .T.
    END FRAME

    DEFINE TEXTBOX GetPesqMun
        ROW    20
        COL    570
        WIDTH  340
        HEIGHT 30
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        ONCHANGE Nil
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONENTER Nil
        HELPID Nil
        TABSTOP .T.
        VISIBLE .T.
        READONLY .F.
        RIGHTALIGN .F.
        DISABLEDBACKCOLOR Nil
        DISABLEDFONTCOLOR Nil
        CASECONVERT NONE
        BACKCOLOR NIL
        FONTCOLOR NIL
        INPUTMASK Nil
        FORMAT Nil
        VALUE ""
    END TEXTBOX

    DEFINE BUTTON BotaoPesqGeral
        ROW    20
        COL    1190
        WIDTH  120
        HEIGHT 30
        ACTION main_botaopesqgeral_action()
        CAPTION "Pesquisa"
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        HELPID Nil
        FLAT .F.
        TABSTOP .T.
        VISIBLE .T.
        TRANSPARENT .F.
        MULTILINE .F.
        PICTURE Nil
        PICTALIGNMENT TOP
    END BUTTON

    DEFINE LABEL LabelGetPEsqNome
        ROW    30
        COL    980
        WIDTH  120
        HEIGHT 24
        VALUE ""
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        HELPID Nil
        VISIBLE .T.
        TRANSPARENT .T.
        ACTION Nil
        AUTOSIZE .F.
        BACKCOLOR NIL
        FONTCOLOR NIL
    END LABEL

    DEFINE GRID Grid_Data
        ROW    70
        COL    10
        WIDTH  1320
        HEIGHT 610
        ITEMS Nil
        VALUE Nil
        WIDTHS grid_data_widths()
        HEADERS grid_data_headers()
        FONTNAME "Courier New"
        FONTSIZE 9
        TOOLTIP ""
        ONCHANGE Nil
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONDBLCLICK Nil
        ONHEADCLICK Nil
        ONQUERYDATA Nil
        MULTISELECT .F.
        ALLOWEDIT .T.
        VIRTUAL .F.
        DYNAMICBACKCOLOR grid_data_dynamicbackcolor()
        DYNAMICFORECOLOR Nil
        COLUMNWHEN Nil
        COLUMNVALID Nil
        COLUMNCONTROLS grid_data_columncontrols()
        SHOWHEADERS .T.
        CELLNAVIGATION .F.
        NOLINES .F.
        HELPID Nil
        IMAGE Nil
        JUSTIFY grid_data_justify()
        ITEMCOUNT Nil
        BACKCOLOR NIL
        FONTCOLOR NIL
        HEADERIMAGES Nil
        ROWSOURCE "dbf"
        COLUMNFIELDS grid_data_columnfields()
        ALLOWAPPEND .T.
        ALLOWDELETE .T.
        BUFFERED .F.
        DYNAMICDISPLAY Nil
        ONSAVE Nil
        LOCKCOLUMNS 0
    END GRID

END WINDOW
Nota de Moderação:
por Pablo César: Citação removida por ser desnecessária.
Editado pela última vez por Pablo César em 04 Mar 2013 12:41, em um total de 4 vezes.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Pesquisar em uma Grid (MiniGui)

Mensagem por Pablo César »

Ahhh agora com código fontes, torna-se muito mais fácil de ajudar.
O fórum possui um recurso de anexar arquivos, mas terá que compactá-los (Prgs, Fmgs, executáveis são dispensáveis), podendo ser com ZIP ou RAR.
ainda é muito confuso esse modo visual
Entendo perfeitamente.

Me dá um tempinho que irei responder, agora tenho que almoçar, mas terei prazer de ajudar.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Pesquisar em uma Grid (MiniGui)

Mensagem por Pablo César »

Só mais uma coisinha, você não poderia lista a estrutura do seu bd ou ao anexar seu dbf. O arquivo de índice, qual são as chaves de indexação ?
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
guanabara
Usuário Nível 1
Usuário Nível 1
Mensagens: 49
Registrado em: 03 Mar 2013 17:33
Localização: Aracatuba-SP

Pesquisar em uma Grid (HMG ID)

Mensagem por guanabara »

Segue em anexo, banco de dados, o arquivo com apenas alguns registros SGF97.DBF, o arquivo de indices é SGF97.CDX e as chaves de indexação são as mesmas que pretendo fazer como pesquisa que são NB = (BENEFICIO), NOME (NOME) e MUN (MUNICIPIO). Aproveitar este post para alterar uma informação que passei incorretamente, o programa que estou usando para compilação é o HMG ID e não o MINIGUI que pensei que fosse a mesma coisa.
Anexos
SGF97.rar
(1.19 KiB) Baixado 407 vezes
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Pesquisar em uma Grid (MiniGui)

Mensagem por Pablo César »

Olá, demorei porque fiquei me batendo com o posicionamento após o seek e a exibição em modo. Também levei um tempinho para normalizar a exibição em telas menores, por isso disponibilizei funções que captam o tamanho da tela (resolução). Abreviei os TextBoxes que tinham para apenas um, adicionando um ComboBox para selecionar os três campos. Dá para melhorar disponibilizando a procura por SUBSTRING, através do LOCATE ou WildSeek. Criei funções vazias para main_form_oninit() e main_form_oninteractiveclose() para poder executar. Espero que tenha gostado, teste e veja se fica funcional.

Ahh ia esquecendo: eu acostumo colar o fmg dentro do prg, isso facilita a inteiração durante a edição do PRG.
Anexos
Teste73.rar
(2.86 KiB) Baixado 543 vezes
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
guanabara
Usuário Nível 1
Usuário Nível 1
Mensagens: 49
Registrado em: 03 Mar 2013 17:33
Localização: Aracatuba-SP

Pesquisar em uma Grid (MiniGui)

Mensagem por guanabara »

Obrigado mesmo, ficou melhor do que eu imaginava, só gostaria de trocar o comando DBSeek por um outro que me liste somente o que estou procurando, parecido com o set filter to.... tentei o DBFilter() mais nao funcionou...
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Pesquisar em uma Grid (MiniGui)

Mensagem por Pablo César »

Veja com a opção de LOCATE se fica bem.
Anexos
Teste73.rar
(793.76 KiB) Baixado 500 vezes
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
guanabara
Usuário Nível 1
Usuário Nível 1
Mensagens: 49
Registrado em: 03 Mar 2013 17:33
Localização: Aracatuba-SP

Pesquisar em uma Grid (MiniGui)

Mensagem por guanabara »

Obrigado pela atenção, mas ainda não deu, tipo, se eu colocar para procuar em municipio e digitar "ARACATUBA", somente os registros da cidade de Aracatuba apareceriam na Grid. Hein como posso te contratar para concluir isso pra mim, ninguém trabalha de graça e depois postamos o resultado aqui para compartilhar com todos. O que acha...
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Pesquisar em uma Grid (MiniGui)

Mensagem por Pablo César »

guanabara escreveu:Hein como posso te contratar para concluir isso pra mim, ninguém trabalha de graça e depois postamos o resultado aqui para compartilhar com todos. O que acha...
Obrigado, mas aqui ajudamos uns aos outros e tenho certeza que você fará o mesmo quando você se sentir em condições de ajudar a outros. Aqui acontece muito de ser uma troca recíproca. :)Pos
guanabara escreveu:se eu colocar para procurar em municipio e digitar "ARACATUBA", somente os registros da cidade de Aracatuba apareceriam na Grid.
Ok, veja se assim resolve. Eu particularmente não gosto muito do SET FILTER, pois deixa um tanto lento.

Adicionei um função que não deixa digitar uma máscara que não seja aceita (por exemplo caracteres ALFA no campo Beneficio). Isso porque não é conseguido mudar o INPUTMASK on-the-fly do TEXTBOX. Mas acho que a função irá dar um resultado aceitável.

Não sei se percebeu, mas também adicionei uma função de autoajuste do tamanho de cada coluna do Grid.

Qual é o seu nome ?
Anexos
Teste73.rar
(3.75 KiB) Baixado 375 vezes
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
guanabara
Usuário Nível 1
Usuário Nível 1
Mensagens: 49
Registrado em: 03 Mar 2013 17:33
Localização: Aracatuba-SP

Pesquisar em uma Grid (MiniGui)

Mensagem por guanabara »

Irei ajudar sim, de preferencia comandos para Clipper em Dos..É verdade, o Set Filter deixa o sistema muito lento, pois o banco de dados é muito grande. Meu nome é Wellington. Já tá parecendo um programa da Totvs com tantas linhas de comandos... hehehehhe. A intenção principal desse sistema é que quando eu filtrar por qualquer uma da opções eu exporte o resultado para um arquivo de preferencia XML.
guanabara
Usuário Nível 1
Usuário Nível 1
Mensagens: 49
Registrado em: 03 Mar 2013 17:33
Localização: Aracatuba-SP

Pesquisar em uma Grid (MiniGui)

Mensagem por guanabara »

Pablo, bom dia, estou me identificando parcialmente com o código e fiz uma breve legenda de seu conteúdo, quando te passei o código inicial somente com o grid sem os comandos de pesquisa que você me fez, aquele código eu já havia adquirido em pesquisas na net, não fui eu quem elaborei por isso não tinha nenhuma intimidade com o mesmo, tem um comando na pesquisa do botton que é:

Main.Grid_Data.Value := {dbf->(recno()),nVal}

nesse comando a ordem de pesquisa mudava conforme a ordem do banco de dados, fiz algumas pequisas aqui no forum e
achei o comando:

ordkeyno() que me traz na mesma ordem do index. Daí ficou bem mais rápido, uma outra coisa eliminei de quase todo sistema o comando Main.Grid_Data.Refresh, entendi que serve para atualizar a tela depois da pesquisa, só que quando uso ele fica muito lento as pesquisa, tem algum outro que possa substitui-lo ??? A minha idéia era que quando abrisse o programa a grid ficasse em branco, sem puxar dados do banco, e só apareceriam as informações na grid após clicar no Botton Pesquisa, como faço ?? E pra finalizar o programa, se puder me ajudar preciso de um outro botton ao lado do botão pesquisa que chamasse "EXPORTAR DADOS", e que após o clique me gerasse um arquivo para ser lido no excel com todas as informações do filtro pesquisado.. Desculpa te pedir tanta coisa, mas não tenho a quem pedir. Vi que o site é de alguém chamado Toledo daqui da cidade de Araçatuba, ele é parente dos donos da faculdade Toledo daqui da cidade ?? Segue código atualizado...
Anexos
Teste75.zip
(5.06 KiB) Baixado 573 vezes
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Pesquisar em uma Grid (MiniGui)

Mensagem por Pablo César »

guanabara escreveu:Pablo, bom dia, estou me identificando parcialmente com o código e fiz uma breve legenda de seu conteúdo
Isso é bom. É essencial entender o código.
tem um comando na pesquisa do botton que é:

Main.Grid_Data.Value := {dbf->(recno()),nVal}

nesse comando a ordem de pesquisa mudava conforme a ordem do banco de dados, fiz algumas pequisas aqui no forum e achei o comando: ordkeyno() que me traz na mesma ordem do index.
Parabéns, descobriu algo que eu não reconhecia... Só que eu retornei o que havia feito inicialmente. Isto é, cada vez que mudar o ComboBox, ele ordena o Grid de acordo e graças ao seu OrdKeyNo() pode retornar ao grid na posição onde está o grid.
outra coisa eliminei de quase todo sistema o comando Main.Grid_Data.Refresh, entendi que serve para atualizar a tela depois da pesquisa, só que quando uso ele fica muito lento as pesquisa, tem algum outro que possa substitui-lo ???
Realmente, o grid fica lento com o Refresh, devido ao volume dos dados. Mas é necessário nesses casos. E não tem outra forma, ao menos desse jeito que foi feito com o grid exibindo todos os dados.
A minha idéia era que quando abrisse o programa a grid ficasse em branco, sem puxar dados do banco, e só apareceriam as informações na grid após clicar no Botton Pesquisa, como faço ??
Bom isto devia ter sido dito antes. Pois a construção do grid é diferente e irá mudar bastante.
E pra finalizar o programa, se puder me ajudar preciso de um outro botton ao lado do botão pesquisa que chamasse "EXPORTAR DADOS"
Bom isso você mesmo pode fazer. Você pode utilizar a IDE abrir o seu formulário (anexei o fmg para facilitar-te) e coloque mais um botão. Depois de gravar o formulário, ponha pra visualizar e procure o novo botão, copie e cole dentro do prg.
após o clique me gerasse um arquivo para ser lido no excel com todas as informações do filtro pesquisado..
Essa função de exportar, você verá um exemplo muito bom em: C:\MiniGUI\SAMPLES\Applications\DBFview\source\DBFview.prg

Se não tiver a Minigui, instale esta versão: http://sourceforge.net/projects/hmgs-mi ... t/download
Desculpa te pedir tanta coisa, mas não tenho a quem pedir.
Só que agora estou com outro projeto em andamento e o meu tempo anda reduzido. Tente fazer por você mesmo e poste as suas dúvidas.
Anexos
Teste73.rar
(5.11 KiB) Baixado 336 vezes
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
guanabara
Usuário Nível 1
Usuário Nível 1
Mensagens: 49
Registrado em: 03 Mar 2013 17:33
Localização: Aracatuba-SP

Pesquisar em uma Grid (MiniGui)

Mensagem por guanabara »

Pablo, muito obrigado por todas as suas orientações, criei o botão conforme voce me ensinou e com uma function no Action do mesmo (Segue abaixo), funcionou certinho, nem acredito que foi eu mesmo (com sua ajuda) quem fez. Esse método que me ensinou a programar de criar o código no FORMS, copiar o código e colar no MODULES (PRG), fica muito mais fácil de trabalhar, vi em um antigo post seu que o seu método de trabalho no HMG é este. Agora as novas dúvidas que tenho criarei novos posts a parte deste, o MINIGUI ainda não é pra mim, quem sabe mais pra frente, os códigos modelos de lá são muito complexos e não dei conta.. Outra coisa, to tentando que só iniciar o programa com a grid vazia, passei o código da COLUMNFIELDS que tava apontando para o banco para variaveis, aparece vazio, sem texto, mais os registros estão lá, da pra navegar por eles, esse restinho de ano que falta pra acabar eu consigo..hehehehe... Valeu, até a próxima...

Código: Selecionar todos

Function main_botaoexporta_action()


Arquivo := HB_OemToAnsi( MemoRead( "TESTE.CSV" ) )
MemoWrit( "TESTE.CSV", Arquivo )

copy to teste.csv delimited with ({chr(34), ";"})

msgbox( "Arquivos Exportados com Sucesso ! " ) 

Return Nil
Responder