TDBComboBoxでDataFieldに数値をセットするには?

解決


YKK  2013-06-03 16:43:29  No: 44636  IP: 192.*.*.*

環境
Delphi7
Windows7 Pro 64bit
FireBird1.5

元々TDBCheckBoxを使用して、プロパティの
ValueCheckedに1
ValueUncheckedに0
を入れて、指定したDataFieldに1か0が入っているという仕組みがあります。

これを、TDBComboBoxに変更して、プロパティのItems欄を
0:条件A
1:条件B
2:条件C
としています。
条件によりDataFieldに0,1,2と1ケタの数値だけを入れたいのですが、どこで設定すればよいでしょうか。
現在は''0:条件A' は項目 'JOUKEN' に適した整数値ではありません'
とエラーが出てしまいます。

また、TDBComboBoxに対してリストから選択させるが直接入力はさせたくないのですが
どのプロパティを変更すればよいでしょうか。

よろしくお願いします。

編集 削除
ありい  2013-06-03 17:56:22  No: 44637  IP: 192.*.*.*

YKKさん、こんにちは。

直接の解決法ではないですが、TDBLookupComboBoxを利用するのが一番手っ取り早い気がします。

#何個ぐらいComboBoxを使うか、項目内容が固定かどうか、等にもよりますが...

TDBLookupComboBoxを配置して、TClientDataSetにキー、表示名を定義してTDataSourceに繋ぎ、TDBLookupComboBoxのListSourceに設定。キーをKeyFieldに、表示名をListFieldに設定します。

#詳しくはヘルプを見て下さい。

以上、参考まで。

編集 削除
YKK  2013-06-04 16:29:47  No: 44638  IP: 192.*.*.*

>ありいさん
ありがとうございます。
一応TDBRadioGroupを使用してItemsに条件を入れ、Valueに0〜2を入れることによって実装できました。
ただ条件が3つなのでよかったのですが多くなってくるとこの方法では画面的に不可能なのでTDBLookupComboBoxについても動作を調べてみようと思います。

参考になりました。ありがとうございます。

編集 削除