DBgridの指定クエリをプログラムコードで変更

解決


どうすれば  2010-01-24 03:28:12  No: 37196

質問があります。DBGridのオブジェクトインスペクタでquery1を選択し、クエリを使っていろいろと処理しているのですが、プログラムコードでDBGridの指定クエリを変更したい場合(query1からquery2へ)の書き方をご存知でしょうか?

DBGrid.dataset := query2; とやりましたが、ダメでした。


igy  2010-01-24 04:54:38  No: 37197

>DBGrid.dataset := query2; とやりましたが、ダメでした。

ダメ というのは、具体的にはどのようになるのですか?
(DBGridの表示が何も変わらないということですか?)


Kenny  2010-01-24 04:55:02  No: 37198

TQueryを切り替えるのなら、DBGridにリンクさせているTDataSourceコンポーネントの
DataSetプロパティで設定するのが、そういうことではなくって?

何がうまくいかないのか、具体的に書かれた方がアドバイスを受けやすいと思いますよ。


igy  2010-01-24 05:05:50  No: 37199

Kenny さんが書かれているとおり、TDataSourceコンポーネントを使い、

   DBGrid1.DataSource := DataSource1;
   DataSource1.DataSet := Query1;

として、

   DataSource1.DataSet := Query2;

で変更した場合、どうなりますか?


Kenny  2010-01-24 05:45:44  No: 37200

オブジェクトインスペクタで見ると、DBGridのDataSourceプロパティの中にDataSetプロパティが
下層階層で表示されるんですよね。(私のD7場合。)
親切な表示なんですけど、DataSetプロパティをうっかりDBGridのプロパティと勘違いされて
いるんじゃないかと推察しているんですけど。
igyさんのコードでちゃんと切り替わりますよ>どうすればさん。


どうすれば  2010-01-24 07:51:39  No: 37201

切り替わりました。ありがとうございました。


どうすれば  2010-01-24 07:52:29  No: 37202

解決チェックを忘れてました。


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

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






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