HMG 3.4.4 Grid com Bug ao usar Image?
Enviado: 09 Jul 2018 13:19
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:
Causando o efeito abaixo:
e
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:
Veja as imagens:
Será um bug ou estou fazendo algo errado? Tem algum macete para corrigir isso?
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 }
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