質問があります。DBGridのオブジェクトインスペクタでquery1を選択し、クエリを使っていろいろと処理しているのですが、プログラムコードでDBGridの指定クエリを変更したい場合(query1からquery2へ)の書き方をご存知でしょうか?
DBGrid.dataset := query2; とやりましたが、ダメでした。
>DBGrid.dataset := query2; とやりましたが、ダメでした。
ダメ というのは、具体的にはどのようになるのですか?
(DBGridの表示が何も変わらないということですか?)
TQueryを切り替えるのなら、DBGridにリンクさせているTDataSourceコンポーネントの
DataSetプロパティで設定するのが、そういうことではなくって?
何がうまくいかないのか、具体的に書かれた方がアドバイスを受けやすいと思いますよ。
Kenny さんが書かれているとおり、TDataSourceコンポーネントを使い、
DBGrid1.DataSource := DataSource1;
DataSource1.DataSet := Query1;
として、
DataSource1.DataSet := Query2;
で変更した場合、どうなりますか?
オブジェクトインスペクタで見ると、DBGridのDataSourceプロパティの中にDataSetプロパティが
下層階層で表示されるんですよね。(私のD7場合。)
親切な表示なんですけど、DataSetプロパティをうっかりDBGridのプロパティと勘違いされて
いるんじゃないかと推察しているんですけど。
igyさんのコードでちゃんと切り替わりますよ>どうすればさん。
切り替わりました。ありがとうございました。
解決チェックを忘れてました。
ツイート | ![]() |