Clipper On Line • Ver Tópico - Cor na coluna de uma Grid

Cor na coluna de uma Grid

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Cor na coluna de uma Grid

Mensagempor jjr_rs » 06 Nov 2012 16:37

Olá pessoal,

Estou montando um form e nele tenho uma Grid com 8 colunas. Nela irei ajustar os headers das colunas em tempo de execução, como descrito no exemplo abaixo:

Form_Agenda.Grid_Agenda.Header(1) := "Hora"
Form_Agenda.Grid_Agenda.Header(2) := F_Headers( Form_Agenda.DP_Data.value )
Form_Agenda.Grid_Agenda.Header(3) := F_Headers( Form_Agenda.DP_Data.value + 2 )
Form_Agenda.Grid_Agenda.Header(4) := F_Headers( Form_Agenda.DP_Data.value + 3 )
Form_Agenda.Grid_Agenda.Header(5) := F_Headers( Form_Agenda.DP_Data.value + 4 )
Form_Agenda.Grid_Agenda.Header(6) := F_Headers( Form_Agenda.DP_Data.value + 5 )
Form_Agenda.Grid_Agenda.Header(7) := F_Headers( Form_Agenda.DP_Data.value + 6 )
Form_Agenda.Grid_Agenda.Header(8) := F_Headers( Form_Agenda.DP_Data.value + 7 )


Como podem notar, irei criar seu título (header) com a data informada + " - " + 3 primeiras letras do dia da semana referente.

Até aí tudo bem, mas minha dúvida começa na questão de, quando o dia da semana cair em um "sábado" ou "domingo" ("SAB" ou "DOM"), eu gostaria de mudar a cor da coluna inteira para chamar atenção do usuário. Existe essa possibilidade ???

Obs.: Moderador me desculpe se este tópico foi criado em um lugar errado, qualquer coisa me corrija.

Abraços a todos !
Bahsis Sistemas de Gestão
Avatar de usuário

jjr_rs
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 72
Data de registro: 18 Mai 2009 18:56
Cidade/Estado: Porto Alegre
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Cor na coluna de uma Grid

Mensagempor Pablo César » 06 Nov 2012 19:49

Acredito que agora com as novas versões do HMG que possui os recursos de GRID_GetColumnControlsEx o qual retorna um array dos controles como: aCOLUMNCONTROL, bDYNAMICBACKCOLOR, bDYNAMICFORECOLOR, bCOLUMNWHEN, bCOLUMNVALID, bONHEADCLICK, etc.

Tem um novo exemplo (DYNAMIC_GRID.PRG) do criador dessas modificações do colega Claudio Soto no fórum oficial em: http://www.hmgforum.com/viewtopic.php?p=21222&sid=2e2fde370828eb55de5dceef1bd627d4#p21222 baixe o exemplo e dê uma estudada.

Na pasta C:\hmg.3.0.46\hfcl\Samples\GridEx da instalação do novo HMG tem um exemplo que mostra como mudar a cor da coluna.

Obs.: Moderador me desculpe se este tópico foi criado em um lugar errado, qualquer coisa me corrija.
Não colega, não precisa pedir desculpa por isso. Se a solução que você quer for em Minigui ou HMG, está no lugar certo.
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Cor na coluna de uma Grid

Mensagempor jjr_rs » 06 Nov 2012 23:53

Olá Pablo César !

Muito obrigado pelo retorno !

Eu só fico meio com o pé atrás em relação a essa versão da minigui que me indicastes, pois ainda estou utilizando a 3.0.35 por motivos de estabilidade.

Poderia migrar para essa que me falastes ? Ela está estável ?

Te pergunto pois preciso estar seguro desta mudança, pois sempre tem aquele medo de poder acontecer algo de errado quando mais precisamos... sabe como é a tal "síndrome do cagão" rsrsrrs...

Grande Abraço !
Bahsis Sistemas de Gestão
Avatar de usuário

jjr_rs
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 72
Data de registro: 18 Mai 2009 18:56
Cidade/Estado: Porto Alegre
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Cor na coluna de uma Grid

Mensagempor Claudio Soto » 07 Nov 2012 00:33

Hola JJR_RS.
Acá te dejo los archivos fuentes del Dynamic Grid, corre tanto en HMG 3.0.35 como en las versiones posteriores.
Saludos cordiales,
Claudio Soto.
Anexos
Dynamic_GRID_2.rar
(273.96 KiB) Baixado 316 vezes
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Cor na coluna de uma Grid

Mensagempor Pablo César » 07 Nov 2012 09:03

jjr_rs escreveu:ainda estou utilizando a 3.0.35 por motivos de estabilidade.


Poderia migrar para essa que me falastes ? Ela está estável ?
Na minha opinião, sim poderia migrar por quê não ? A ultima versão é 3.0.46 que saiu recentemente e até agora não se reportou erros quanto a versão. Faça o seguinte: baixe a mais nova e recente versão, instale e compile. Se você notar alguma desvantagem, reporte o que poderia estar ocorrendo lá no fórum oficial da HMG e recompile em 3.0.35. Você não irá perder nada com isso, pelo contrário. Tendo em conta que as novas versões trabalham com versões mais novas do Harbour e a biblioteca gráfica ambos com mais recursos. Portanto você só teria a ganhar. Instalar a nova versão e manter a 3.0.35 não faz mal algum. Eu tenho assim também e pode ser usado alternando as duas versões sem problemas.

Te pergunto pois preciso estar seguro desta mudança, pois sempre tem aquele medo de poder acontecer algo de errado quando mais precisamos...
Bom, caso você queria ficar nessa versão, você pode pegar os fontes que o nosso colega Claudio Soto anexou e compile em HMG 3.0.35 que irá funcionar perfeitamente (eu testei aqui).
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Cor na coluna de uma Grid

Mensagempor jjr_rs » 08 Nov 2012 16:14

Puxa pessoal (Claudio Soto e Pablo César), venho novamente agradecer aos amigos por toda ajuda prestada !

Pablo logo que possível baixarei a versão mais atual para testes e Claudio, logo estarei realizando os testes com os fontes que me passastes.

No que tiver realizado estes testes, voltarei para informá-los dos resultados.

Agradeço mais uma vez e no que eu puder ajudar, contem comigo meus amigos !

Abraços !

Att,
João Gilberto
Bahsis Sistemas de Gestão
Avatar de usuário

jjr_rs
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 72
Data de registro: 18 Mai 2009 18:56
Cidade/Estado: Porto Alegre
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Cor na coluna de uma Grid

Mensagempor jjr_rs » 03 Dez 2012 14:33

Pessoal, tudo bem ?!

Volto neste post para fazer outra pergunta referente a Grid. Estou com uma grid com 8 colunas e algumas linhas.
Estou com a propriedade CellNavegation = .T., para que possa navegar em cada celula de cada linha e coluna.

Situação: quando o cliente der duplo clique sobre a célula, eu retorno a linha e coluna referentes. Até aí tudo bem, pois a Grid tem nos seus "eventos" a opção "OnDblClick", onde chamo a função que recupera essas informações utilizando This.CellRowIndex e This.CellColIndex.

O problema surgiu ao realizar os testes e notar que na Grid não existe o tratamento para o evento "OnEnter" e por consequência, ao invés de usar o mouse e dar duplo clique sobre a célula na grid, caso o usuário invente de utilizar a tecla "Enter", a função será executada mas, não trará corretamente os valores de This.CellRowIndex e This.CellColIndex.

Qual a solução para esse problema ? Estive pensando em fazer a grid entender o "Enter" como se fosse um duplo clique do usuário, mas não tenho certeza de como fazer isso, e ainda mais que sirva apenas para dentro da grid e para nenhum outro "elemento" dentro do formulário que está a grid.

Desde já agradeço novamente a ajuda de todos !

Obrigado !
Bahsis Sistemas de Gestão
Avatar de usuário

jjr_rs
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 72
Data de registro: 18 Mai 2009 18:56
Cidade/Estado: Porto Alegre
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Cor na coluna de uma Grid

Mensagempor Pablo César » 03 Dez 2012 16:22

Qual a solução para esse problema ? Estive pensando em fazer a grid entender o "Enter" como se fosse um duplo clique do usuário, mas não tenho certeza de como fazer isso, e ainda mais que sirva apenas para dentro da grid e para nenhum outro "elemento" dentro do formulário que está a grid.
Bastaria você colocar chamada de função no evento ONDBLCLICK (ou ON DBLCLICK se usar @...) do seu GRID. O Enter funcionará igual/como. Eu faço assim:
..//..
ONDBLCLICK Call_Editor(This.Value)
..//..

Function Call_Editor(aItem)
Local cCommand:=Form_1.Grid_2.Cell(aItem[1],2)

If !Empty(cCommand)
   If !File(cEditor)
      MsgStop("Source EDITOR not found !"+CRLF+CRLF+"Please locate EDITOR and try again !","User intervention required")
     Form_1.Tab_1.Value := 3
     Form_1.Text_5.Value:=cEditor+"         ???"
     Form_1.Text_5.SetFocus
     Return Nil
   Endif
   WaitWindow("Wait: Opening PRG file in your source EDITOR...", .T. )
   MyRun(cEditor+" "+cCommand)
   WaitWindow()
Endif
Return Nil
Exemplo extraído do View_Build_Log (na seção de Downloads).
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Cor na coluna de uma Grid

Mensagempor jjr_rs » 03 Dez 2012 17:34

Olá novamente Pablo !

Bom, somente para mostrar o que estou a fazer... No evento OnDblClick da grid, usando a IDE, eu adicionei a chamada dessa função: F_Mostra( This.CellRowIndex, This.CellColIndex ).

Segue a função abaixo:

*-------------------------------------------
Static Function F_Mostra( nLinha, nColuna )
*-------------------------------------------
MsgExclamation ( Str( nLinha,3 ), "Linha" )
MsgExclamation ( Str( nColuna,3 ), "Coluna" )
Return .T.


Com esse teste eu pude notar o problema que havia comentado, que ao dar Enter, o valor da linha não é atualizado, como acontece com os dois cliques do mouse.

Pessoalmente achei curioso a Grid não ter um tratamento/evento para o OnEnter. Não sei se já passastes por essa situação antes.
Bahsis Sistemas de Gestão
Avatar de usuário

jjr_rs
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 72
Data de registro: 18 Mai 2009 18:56
Cidade/Estado: Porto Alegre
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Cor na coluna de uma Grid

Mensagempor Pablo César » 03 Dez 2012 21:52

Você não prestou atenção na minha mensagem anterior. Port favor, leia novamente.

ONDBLCLICK Call_Editor(This.Value) // vai enviar um vetor

Function Call_Editor(aItem)
Local cCommand:=Form_1.Grid_2.Cell(aItem[1],2) // aqui pega o valor da célula
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Cor na coluna de uma Grid

Mensagempor jjr_rs » 04 Dez 2012 09:30

Olá Pablo,

Realmente não havia entendido mesmo, desculpe...

Entendo que dessa forma consigo recuperar o valor/conteúdo da célula selecionada.

Mas o que tenho que fazer é pegar o número da linha e coluna da mesma, pois com isso eu chamo as informações de um array (espelho) dessa grid, onde terei todos os dados para mostrar ao usuário.

Vou fazer testes com esse exemplo que mostrastes e ver se consigo.

Novamente obrigado pela ajuda !

Abraços !
Bahsis Sistemas de Gestão
Avatar de usuário

jjr_rs
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 72
Data de registro: 18 Mai 2009 18:56
Cidade/Estado: Porto Alegre
Curtiu: 0 vez
Mens.Curtidas: 2 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro