DBGridの縦計算

解決


あお  2009-03-09 08:13:27  No: 33597

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


HOta  2009-03-09 16:28:31  No: 33598

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


あお  2009-03-09 17:47:32  No: 33599

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


HOta  2009-03-10 02:50:25  No: 33600

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


あお  2009-03-10 04:35:00  No: 33601

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加