QuantumGrid pintar linhas com cores diferentes
Amigos li na clube delphi 64 sobre o grid da
DevExpress (QuantumGrid), excelente!
Apesar de ser mostrado no mesmo como zebrar o grid e o que eu necessito é quase isto, porém no meu caso a mudança da cor da linha do grid estará condicionada a um valor de uma coluna, corri pela net a procura de socorro e até encontrei algum material, mas nenhum me ajudou até o momento.
Meu cenário é o seguinte: Tenho um cadastro de funcionários e na tabela onde armazeno as informações dos mesmos tenho o campo (situação) que pode ser (ativo, demitido, férias, licença....) enfim, n-situações e gostaria de na exibição do grid colorir as linhas com cores diferentes a depender do valor desta situação. Tentei obter o resultado através do método CustomDrawCell do DBTableView conforme abaixo:
if cdsFuncionarioSituacao.AsInteger = 0 then -- Ativo
ACanvas.Brush.Color := clGreen;
if cdsFuncionarioSituacao.AsInteger = 1 then -- Demitido
ACanvas.Brush.Color := clRed;
.......
Porém não estou obtendo o resultado esperado, o que estou fazendo errado?
[]'s,
Hélio
Apesar de ser mostrado no mesmo como zebrar o grid e o que eu necessito é quase isto, porém no meu caso a mudança da cor da linha do grid estará condicionada a um valor de uma coluna, corri pela net a procura de socorro e até encontrei algum material, mas nenhum me ajudou até o momento.
Meu cenário é o seguinte: Tenho um cadastro de funcionários e na tabela onde armazeno as informações dos mesmos tenho o campo (situação) que pode ser (ativo, demitido, férias, licença....) enfim, n-situações e gostaria de na exibição do grid colorir as linhas com cores diferentes a depender do valor desta situação. Tentei obter o resultado através do método CustomDrawCell do DBTableView conforme abaixo:
if cdsFuncionarioSituacao.AsInteger = 0 then -- Ativo
ACanvas.Brush.Color := clGreen;
if cdsFuncionarioSituacao.AsInteger = 1 then -- Demitido
ACanvas.Brush.Color := clRed;
.......
Porém não estou obtendo o resultado esperado, o que estou fazendo errado?
[]'s,
Hélio
Hélio Oliveira
Curtidas 0
Respostas
Rafael Mattos
08/03/2011
vai no evento cxGrid1DBTableView1.StylesGetContentStyle la vc coloca o código
begin if ARecord.Values[0] = 'S' then // AQUI É A COLUNA QUE ESTA O CAMPO A SER VERIFICADO
AStyle := SuaCor;end;
begin if ARecord.Values[0] = 'S' then // AQUI É A COLUNA QUE ESTA O CAMPO A SER VERIFICADO
AStyle := SuaCor;end;
GOSTEI 0
Rafael Mattos
08/03/2011
vai no evento cxGrid1DBTableView1.StylesGetContentStyle la vc coloca o código
begin if ARecord.Values[0] = 'S' then // AQUI É A COLUNA QUE ESTA O CAMPO A SER VERIFICADO
AStyle :=
end;
begin if ARecord.Values[0] = 'S' then // AQUI É A COLUNA QUE ESTA O CAMPO A SER VERIFICADO
AStyle :=
end;
corrigindo
begin if ARecord.Values[0] = 'S' then // AQUI É A COLUNA QUE ESTA O CAMPO A SER VERIFICADO
AStyle := cxStyle4;
end;
ele só recebe a cor que vc colocar dentro do Style
GOSTEI 0
Hélio Oliveira
08/03/2011
Opa, muito obrigado Rafael!
GOSTEI 0