Fórum Adicionar campo no FieldsEditor do IbClientDataSet runtime #360940
10/07/2008
0
pesquisei muito por aqui e nao consegui nenhum topico para esclarecer exatamente minha duvida.
Seguinte;
em um form uso um ibclientdataset para poder alterar dados provenientes de uma consulta, até aí tudo bem, mas estou com a necessidade de incluir um campo VALOR_DESCONTO_DIFERENCIADO CURRENCY no fields editor em tempo real.
Alguem sabe alguma forma?
Neste IBCLIENTDATASET existem alguns campos InternalCalc, não poderia apagar a lista de campos no fieldseditor mesmo sabendo que o DELPHI recria esta lista na hora da consulta caso a mesma esteja em branco.
Resumindo: teria que apenas manter a minha lista de campos, mas quando efetuar uma certa consutla, preciso adicionar um ou outro campo ´FTCURRENCY´ em tempo real.
desde ja agradeço.
Seven
Curtir tópico
+ 0Posts
12/07/2008
Micheus
Tente algo similar ao comando a seguir, antes de abrir o dataset:
... var CurField :TCurrencyField; // ver help para outros tipos begin // alocamos o field dinamicamente CurField := TCurrencyField.Create(Self); // inicializamos suas propriedades principais with CurField do begin // nome do campo na tabela CurField.FieldName := ´VALOR_DESCONTO_DIFERENCIADO´; // defina a máscara se precisar CurField.DisplayFormat := ´#,0.00´; // nome do campo não pode ser repetido - seguimos padrão do delphi CurField.Name := ´IBCLIENTDATASET1VALOR_DESCONTO_DIFERENCIADO´; // aqui vinculamos o campo ao dataset CurField.DataSet := IBCLIENTDATASET1; end; ... IBCLIENTDATASET1.Open; ... end;
para remover ele da lista de fields:
... if Assigned(IBCLIENTDATASET1.Fields.FieldByName(´VALOR_DESCONTO_DIFERENCIADO)) then IBCLIENTDATASET1.Fields.FieldByName(´VALOR_DESCONTO_DIFERENCIADO´).Free; ...
Abraços
Gostei + 0
15/07/2008
Seven
funcionou perfeitamente.
Gostei + 0
31/01/2013
Lisandro Otto
Gostei + 0
28/02/2013
José
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)