Subject | Re: Calculated field column total? |
---|---|
Author | mmenaz |
Post date | 2002-02-27T23:27:49Z |
I don't understand your setup, sice in one place you state that is a read only dataset, in another you are talking about "row changes"...
Anyway, if the changes are made by others, and you are just displaying rows, I suggest a IB_Cursor or a IB_DSQL with a sum(xx).
If you are changing row values in the dataset displayed with the grid, calculate values in the buffer in the IB_Datasource.DataChange event. If not changed by this app, put the code in lines following the Invalidate; Refresh; code, or wherever/however you refresh your dataset.
Just some (confused?) ideas ;)
Regards
Marco Menardi
Anyway, if the changes are made by others, and you are just displaying rows, I suggest a IB_Cursor or a IB_DSQL with a sum(xx).
If you are changing row values in the dataset displayed with the grid, calculate values in the buffer in the IB_Datasource.DataChange event. If not changed by this app, put the code in lines following the Invalidate; Refresh; code, or wherever/however you refresh your dataset.
Just some (confused?) ideas ;)
Regards
Marco Menardi
--- In IBObjects@y..., "Paul Hope" <paulhope@a...> wrote:
> Hi
>
> I want to display a total of a calculated field for a read only dataset
> displayed in a grid. I could fire off another query on the server asking it
> to recalculate a total every time a row changes in the displayed dataset -
> but this seems very inefficient.
>
> What I was hoping to do is in CalculateField
> subtract ARow.ByName('MyCalculatedField').asCurrency from my total
> calculate the new value of MyCalculatedField
> add the new value to my total
>
> Unfortunately reading the calculated field value before it is set doesn't
> work. It seems to return the value it had calculated for the previous row.
>
> I have also tried summing the field values in the buffer (having set
> Fetchall to true) but I havn't found an appropriate event to attach this
> to - 'AfterRefresh' would be nice.
>
> Any Ideas?
>
> Regards
> Paul