Adicionar campo no FieldsEditor do IbClientDataSet runtime
alo a todos?
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.
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
Curtidas 0
Respostas
Micheus
10/07/2008
Acho que vc está procurando pela propriedade [i:e3a5ea6514]Fields[/i:e3a5ea6514] - o [i:e3a5ea6514]FieldsEditor[/i:e3a5ea6514] é utilizado apenas em design-time.
Tente algo similar ao comando a seguir, antes de abrir o dataset:
para remover ele da lista de fields:
Abraços
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
Seven
10/07/2008
Obrigado micheus...
funcionou perfeitamente.
funcionou perfeitamente.
GOSTEI 0
Lisandro Otto
10/07/2008
Excelente Micheus.....
GOSTEI 0
José
10/07/2008
Obrigado pelo retorno, Seven. Sendo assim, estou fechando este tópico. Caso precise, fique à vontade para abrir novos.
GOSTEI 0