dbgridにフィールド追加


みけ  2006-04-09 02:36:12  No: 20928  IP: [192.*.*.*]

お世話になります。

現在、selectでdbgridに表示されている画面のまま、Dgbridの
フィールドを増やしたいと思っているのですが、下記のように
すると表示されていた内容が消えてしまいます。
--------------------------------------------
DBGrid2.Columns.Add.FieldName := 'sakana';
--------------------------------------------

内容を残したままフィールドを増やす事は出来ないでしょうか?

すいませんが宜しくお願いいたします。

編集    削除
HOta  2006-04-09 03:53:03  No: 20929  IP: [192.*.*.*]

DBGridはDataSetを表示します。DataSetに計算項目を足せば追加できます。

編集    削除
みけ  2006-04-09 13:52:11  No: 20930  IP: [192.*.*.*]

HOta様、ありがとうございます。

DataSetに計算項目を足す件、ありがとうございます。

asを使った場合、as元の内容も複写されてしまうのですが
これは、複写後に削除で対応するしかないのでしょうか?

編集    削除
HOta  2006-04-09 16:16:34  No: 20931  IP: [192.*.*.*]

どういう事でしょうか?

編集    削除
みけ  2006-04-13 23:23:48  No: 20932  IP: [192.*.*.*]

「DataSetに計算項目を足す」と言うのが良く分かっていないのですが
select max(id) as max_id from kikin 

のようにasでフィールドを増やす事だと思っているのですが
もしかして違うのでしょうか?

編集    削除
HOta  2006-04-13 23:39:29  No: 20933  IP: [192.*.*.*]

DataSetはTQuery->TDataSource->TDBGridのばあい、
TQueryの右クリックから、計算項目を新規作成します。
例えば、F_Dispという文字項目を足したとして、
TQueryのOnCalcFieldsイベントを作り、

DataSet.FieldByName('F_Disp').asstring := 'hogehoge';

とすればhogehogeを表示します。

編集    削除