■ DBGridの縦計算

[Delphi Q & A 掲示板] [過去ログの一覧]


あお 2009/03/08(日) 23:13:27
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
TDBGridはデーターベースに対するコンポーネントですから、対応するレコードを作れば可能です。2行目のレコードを編集して結果を3行目のレコードに入れれば表示できます。
でも、こんな事をするなら、TStringGridを使った方が早いでしょう。

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

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

あお 2009/03/09(月) 19:35:00
[[解決]]

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

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library