Como Alterar o DisplayName e DisplayMask em RunTime

Delphi

27/05/2005

Olá, possuo uma IBQuery, que pego as consultas para uma tela de localização, por ser genérica, ela traz no DisplayName os nomes do próprio campo no Banco, ficando visivelmente ruim, queria saber se tem como eu mudar esta propriedade em RunTime... pega os valores gravados no Description Field do Próprio banco...

Pegar o Description eu consegui, só não consigo jogar o resultados no DisplyName

desde já agradeço a todos


[]s


Titanius

Titanius

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

27/05/2005

Como vc está recuperando o Description e tentando atribuir o valor ao DisplayName?


GOSTEI 0
Titanius

Titanius

27/05/2005

Tenho uma Query chamada QrLocalizar, que vem os campos do meu localizar, e uma Query TbConsDescricao, que traz as descricoes da tabela selecionada pelo QrLocalizar.

Criei uma procedure que abre a ConsDescricao, e vai tentar mudar o DisplayName, segue ela:
procedure TDM.PegaDesc(vTabela: string);
var
  i: integer;
begin
  with TbConsDescricao do
  begin
    ParamByName(´PTabela´).AsString := vTabela;
    Open;
    First;
    QrLocalizar.First;
    for i := 0 to QRLocalizar.FieldCount - 1 do
    begin
      QrLocalizar.Fields[i].DisplayName :=  Fields[i].AsString;
      if QrLocalizar.Fields[i].DataType in [ftCurrency, ftFloat, ftBCD] then
        QrLocalizar.Fields[i].DisplayMask := ´,0.00´;
    end;

  end;
 
end;


Eu executaria esta Procedure no AfterOpen da QrLocalizar...



[]s


GOSTEI 0
Gandalf.nho

Gandalf.nho

27/05/2005

O que não está funcionando? Dá erro ou simplesmente não atribui nada?


GOSTEI 0
Titanius

Titanius

27/05/2005

Da mensagem:

[b:26365e628f]
cannot assign to a read-only property
[/b:26365e628f]

Tá falando que é somente leitura, como pode ser somente leitura se eu posso mudar ele pelo OI

[]s


GOSTEI 0
Gandalf.nho

Gandalf.nho

27/05/2005

No Help do Delphi tb indica que a propriedade DisplayName é read-only. Vc está usando essa propriedade aonde?


GOSTEI 0
Titanius

Titanius

27/05/2005

no caso, quando chamo os dados via runtime atraves de uma sql, nao eh esse DisplyName que aparece no Title dos DBGrid? o que eu quero é isso, que no GRid apareca a descricao e nao o nome do Campo, como está sendo feito... :D


[]s


GOSTEI 0
Gandalf.nho

Gandalf.nho

27/05/2005

Pq vc não modifica seu código para alterar o Title de cada coluna no DbGrid, já que o resultado final pro usuário será o mesmo?


GOSTEI 0
POSTAR