Ocultar nome no DBGrid
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
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
Curtidas 0
Respostas
Diogoalles
14/08/2003
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
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
GOSTEI 0
Diogoalles
14/08/2003
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
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
GOSTEI 0