HMG 3.4.4 Grid com Bug ao usar Image?

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
NiltonGM
Usuário Nível 3
Usuário Nível 3
Mensagens: 397
Registrado em: 05 Jun 2014 23:47
Localização: Caieiras/SP

HMG 3.4.4 Grid com Bug ao usar Image?

Mensagem por NiltonGM »

Amigos, uso a Grid a um bom tempo e faço uso dos recursos de imagens e fontes diretamente no cabeçalho (Headers) da grid e nunca tive problemas utilizando os comandos abaixo:

Código: Selecionar todos

    // Troca o ícone para up (ordem crescente) ou down (ordem decrescente) conforme a flag
    clientes.Grid_Clientes.HeaderImages(nIndexHeader) := IIF( lFlag, 'hdUp', 'hdDown' )

    // Troca o fonte da colula (nOrdem) em negrito
    clientes.Grid_Clientes.HeaderDYNAMICFONT(nIndexHeader) := {|| ARRAY FONT "Tahoma" SIZE 9 BOLD }
Causando o efeito abaixo:
2018-07-09.png
e
2018-07-09 (1).png
O problema que quero relatar é o seguinte, resolvi implementar uma imagem na linha da grade para os clientes que estão fazendo aniversário no mês corrente, se na grade não uso os recursos acima com imagem no cabeçalho, funciona que é uma beleza, porem, se estou usando imagens no cabeçalho, a imagem da linha interfere no cabeçalho jogando a mesma imagem da linha no cabeçalho da coluna 2, muito estranho isso. Veja os comandos:

Código: Selecionar todos

            DELETE ITEM ALL FROM Grid_Clientes OF clientes

            clientes.Grid_Clientes.Image(false) := {"gdEmpty","gdHappyDay"}

            FOR i := 1 TO nRow

                 oRow := pCli_oQuery:GetRow(i)

                 cEndereco := IIF( Empty( oRow:FieldGet('logradouro') ), '', STRING_MySQL_TO_HB( oRow:FieldGet('logradouro') ) )
                 cEndereco += IIF( Empty( oRow:FieldGet('numero') ), '', IIF( Empty(cEndereco), '', ', ' ) + STRING_MySQL_TO_HB( oRow:FieldGet('numero') ) )
                 cEndereco += IIF( Empty( oRow:FieldGet('complemento') ), '', IIF( Empty(cEndereco), '', ', ' ) + STRING_MySQL_TO_HB( oRow:FieldGet('complemento') ) )
                 cEndereco += IIF( Empty( oRow:FieldGet('bairro') ), '',  IIF( Empty(cEndereco), '', ' - ' ) + STRING_MySQL_TO_HB( oRow:FieldGet('bairro') ) )
                 cEndereco += IIF( Empty( oRow:FieldGet('municipio') ), '', IIF( Empty(cEndereco), '', ' - ' ) + STRING_MySQL_TO_HB( oRow:FieldGet('municipio') ) )
                 cEndereco += ' (' + oRow:FieldGet('uf') + ')'
                 cEndereco += IIF( Empty(oRow:FieldGet('cep')), '', ' CEP: ' + Transform( oRow:FieldGet('cep'), "@R 99999-999" ) )

                 ADD ITEM { ;
                     oRow:FieldGet('id'), ;
                     STRING_MySQL_TO_HB(oRow:FieldGet('nome')), ;
                     STRING_MySQL_TO_HB(oRow:FieldGet('apelido')), ;
                     AllTrim(oRow:FieldGet('cpf')), ;
                     AllTrim(oRow:FieldGet('rg')), ;
                     AllTrim(oRow:FieldGet('celular')), ;
                     AllTrim(oRow:FieldGet('telefone')), ;
                     cEndereco, ;
                     oRow:FieldGet('data_nascimento'), ;
                     iif(oRow:FieldGet('ativo')=1,'ATIVO','INATIVO'),  ;
                     STRING_MySQL_TO_HB(oRow:FieldGet('sis_usuarios_nome_cadastrado_por')),;
                     DateTime_MySQL_TO_HB(oRow:FieldGet('cadastrado_em')), ;
                     STRING_MySQL_TO_HB(oRow:FieldGet('sis_usuarios_nome_alterado_por')), ;
                     DateTime_MySQL_TO_HB(oRow:FieldGet('alterado_em')), ;
                     oRow:FieldGet('alteracoes') ;
                 } TO Grid_Clientes OF clientes

                   // Aqui mudo a imagem da linha conforme a expressão abaixo, não sei como, mas esse comando interfere na imagem do cabeçalho da coluna 2
                   clientes.Grid_Clientes.ImageIndex(i,1) := IIF( Month( oRow:FieldGet('data_nascimento') ) == Month(Date()), 1, 0 )

            NEXT i

Veja as imagens:
2018-07-09 (2).png
Será um bug ou estou fazendo algo errado? Tem algum macete para corrigir isso?
Nilton Medeiros
nilton@sistrom.com.br
Responder