Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

BDE PipeLine - How to refresh FieldList When Fields Are Added

edited October 2001 in General
Hello All:

How can I refresh the fieldList in a BDEPipeLine or DBPipeline after new
fields have been created ???

So far, I only seem to be able to manually add them one at a time. Is
there some AddFields Method like in the TTable component ???

The other approach is to delete the pipeline and re-add it. However, the
pipeline is then removed from all of the components in the report.

Any suggestions ???


Neil Huhta
Profit Monster Data SYstems LLC



What

Comments

  • edited October 2001
    Take a look in you source in ppDB.pas, which is where the TppDatapipeline
    class is declared. There is an AddField method you can call on the
    datapipeline.


    Cheers,

    Jim Bennett
    Digital Metaphors


  • edited October 2001
    Jim:

    My issue is at Design time, not run time. How can I cause the IDE to
    resync the created field list with the TTable or TQuery ??? The addfield
    just adds a blank field.

    I'm interested in replicating the TTable Addfields behavior in the IDE.

    Right now, When new fields are added, I end up deleting the ppReport
    component, then re-adding it. That causes the report to set all the
    components datasources to nil. Thus I must do substantial work on the report
    to repair this. This is a real maintenance issue for us.

    Please advise us on how to proceed.


    Neil Huhta
  • edited October 2001
    For the problem where the report datapipeline is being reset, set the data
    aware control's ParentDataPipeline boolean property to True. When the
    datapipeline of the report is replaced, all of the data aware controls
    should be automatically reassigned to the new pipeline and hook their fields
    back up if they match field names. The one thing which would stop this from
    happening is the ParentDataPipeline propery of TppComponents. Once it gets
    set to false, it never gets reset back to true.

    For the original problem, the fieldlist should automatically get updated
    when the table gets updated. Looks like it isn't working as it used to,
    even when Datapipeline.AutoCreateFields is true.

    Thanks for reporting the issue. For now, you'll have to delete the
    datapipeline component and create a new one, or manually add the fields to
    the current pipeline.

    Cheers,

    Jim Bennett
    Digital Metaphors


This discussion has been closed.