いつもお世話になっております。
TDBGridでの縦スクロールバーについてなのですが、
DataSourceのカーソル位置がBOFであればスクロールバーの
Positionが一番上、カーソル位置がEOFであればPositionが
一番下、それ以外はスクロールバーの位置が中央部に来る
ようになっています。それを、通常のGrid同様、
カーソル位置によりcrollbarが追従するようにしたいと
思って色々試しているんですが、良い方法が見つかりません。
なお、DB環境はBDEよりADOへ移行しつつある状況で、接続先は
SQLServer2005及びAccess2000です。Filterプロパティを多用
している状態です。BDE、ADO双方での実装方法を模索しています。
恐れ入りますが宜しくご教授下さい。
原因としてはこの記事が参考になるのかな?
http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/nsearch.cgi?screen=0&select=0&key=33221
処理時間が遅くなっても良いのであればTClientDataSetが手っ取り早いかもしれません。
※データ量が多いほど時間かかります。
リンク間違えました。
http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/browse.cgi?index=033221
早速のご回答ありがとうございます。
当方の開発環境はD5Pro(BDE)D7Pro(ADO)なので、
ADOの方は何とかなりそうかもしれませんが、BDEの方
はTClientDataSetが無いです・・・。
BDEの方は仕様ということで諦めざるを得ないのでしょうか・・・。
Delphi5では仕様です。
やはり仕様ですか・・・
別の方法を探ってみようと思います。
ありがとうございました。
Delphi7では、BDEでも御希望の動作になりませんか?
解決済みとのことですが,
拡張DBGrid(TFixDBGrid) を使用しています.
http://www1.cncm.ne.jp/~ogawate/delphi/components/components.html
WindowsXP(SP2),Windows2000,Delphi7で,少なくとも ADOでmdb(JET)
への接続では使用可能です.
ただ,行全体を選択(dgRowSelect)の状態で,OnDrawXXXX内でなんらかの
処理を行うと行全体が選択されなくなることがあり,修正して利用して
います(作者のnanaさんには未連絡).
>Delphi7では、BDEでも御希望の動作になりませんか?
WindowsXP(SP2) + Delphi7 + BDE(5.XX ?)では,上下の矢印,スクロール
ボックス,マウスホイール動作で,スライダーが,相当位置に移動します.
上端,下端,中央だけということはありません.
ADO(mdb - JET)では未確認です.
ツイート | ![]() |