DBGridの縦計算

解決


あお  2009-03-08 23:13:27  No: 33597  IP: 192.*.*.*

D7、XPです。
PARADOXのテーブルをDBGridに表示し
        a       b     c  …
1行目 1000    2000
2行目  500    3000
3行目  500   -1000
2行目に数字を入力し、3行目に一行目との加減数値を
表示する。
簡単なことですか?

編集 削除
HOta  2009-03-09 07:28:31  No: 33598  IP: 192.*.*.*

TDBGridはデーターベースに対するコンポーネントですから、対応するレコードを作れば可能です。2行目のレコードを編集して結果を3行目のレコードに入れれば表示できます。
でも、こんな事をするなら、TStringGridを使った方が早いでしょう。

編集 削除
あお  2009-03-09 08:47:32  No: 33599  IP: 192.*.*.*

HOtaさん、ありがとうございます。
やっぱりTStringGridですかね。
参考までに教えて頂きたいのですが
3行目のレコードへの入れ方が分かりません。
READしてPOSTというかたちにしないと
いけないのでしょうか?

編集 削除
HOta  2009-03-09 17:50:25  No: 33600  IP: 192.*.*.*

2行目に数字を入れて、OnDataChangイベントで合計行のレコードを作り直せば良いのですが、いちいち何行目かをチェックしないといけません。
この点が出来れば、数百行の合計でも同じ操作になります。
トランザクションと併用すればPostしてもデーターベースに反映しませんので、最後にトランザクションをコミットすれば良いでしょう。

編集 削除
あお  2009-03-09 19:35:00  No: 33601  IP: 192.*.*.*

HOtaさん、有難うございます。
効率的な処理とはなりませんね。
TStringGridで作り直してみました。余り使ったことがありませんので
理想的な組み方とは思えませんが、とりあえず動く形は
とれました。
これからは敬遠せずにTStringGridも使ってみたいと
思います。
お手数をお掛けしました。

編集 削除