GARANTIR DESCONTO

Fórum Ocultar nome no DBGrid #174957

14/08/2003

0

Senhores

Estou usando Table com DataSource

O que eu quero é +- o seguinte:

em uma dbgrid
If TABLE1.TIPO.VALUE = ´J´ then
TABLE1.NOME. apareça apenas na celula de nome ********
else
TABLE1.NOME. na celula o nome aparece normal

Objetivo
se o cliente for pessoa juridica o nome não será mostrado na tela, será mostrado apenas **********, se não for juridica então aparece normal para ser visualizado.

Aenciosamente

José Ricardo


Zlink

Zlink

Responder

Posts

14/08/2003

Diogoalles

Utilize o evento OnDrawColumnCell do DBGrid.
A idéia é +- esta:

...
if(Column.FieldName = ´COLUNA´)then //COLUNA DEVE SER O NOME DA COLUNA COMO ESTÁ NA PROPRIEDADE COLUMNS DO DBGRID
begin
with DbGrid1.Canvas do
begin
// Aqui vc insere o código que quiser.

end;
end;

abraço
Diogo


Responder

Gostei + 0

14/08/2003

Diogoalles

Uma solução mais simples q a anterior seria você criar um campo calculado no tabela.
Para isso abra o Fields_Editor do componente Table. Cliqeu com o Botão direito e selecione New Field. Crie um campo ´Nome´ do tipo Calculated e clique em OK.
No evento OnCalcField do Table cloque seu código:

If TABLE1.TIPO.VALUE = ´J´ then
TABLE1.NOME.Value := ´*****************´
else
TABLE1.NOME.Value := Table1.NomeOriginaldoCampo.Value;

Agora na coluna do DBGrid é só setar para que ela exiba o campo calculado que foi criado, ao invés de exibir o campo nome original.

abraço

Diogo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar