Subject | TIBOTable does not clear filtering when MasterSource is destroyed |
---|---|
Author | masonwheeler |
Post date | 2013-04-20T18:25:32Z |
Found another fun one for you:
Create two database tables, bound by a FK relationship. One should be a master table, the other a one-to-many detail table.
Insert two rows into the master table, and 10 rows into the detail table, 5 for each master PK value.
Create two TIBOTable objects, one for each table.
At runtime (not in the form designer, though I'm not sure if this actually makes a difference) create a TDataSource. Its dataset should be the master table. Assign it to the detail table's MasterSource property.
Detail table's RowCount should now read 5, not 10, filtered to only show detail rows of the master table's current row. So far, so good.
Then, call Free on the datasource.
Detail table's RowCount should now return 10, but it return 5. TIBODataset.RefreshParams gets called, but never actually deletes the filter, and the dataset gets stuck like that.
Mason
Create two database tables, bound by a FK relationship. One should be a master table, the other a one-to-many detail table.
Insert two rows into the master table, and 10 rows into the detail table, 5 for each master PK value.
Create two TIBOTable objects, one for each table.
At runtime (not in the form designer, though I'm not sure if this actually makes a difference) create a TDataSource. Its dataset should be the master table. Assign it to the detail table's MasterSource property.
Detail table's RowCount should now read 5, not 10, filtered to only show detail rows of the master table's current row. So far, so good.
Then, call Free on the datasource.
Detail table's RowCount should now return 10, but it return 5. TIBODataset.RefreshParams gets called, but never actually deletes the filter, and the dataset gets stuck like that.
Mason