私は DevExpress TcxDBLookupComboBox v12.1.5 を持っています:
DataBinding.Datafile -> 整数フィールド DataBinding.DataSource -> dbisam テーブル
DropDownListStyle -> lsEditList
ImmediatePost -> true
ListFieldIndex -> 1 ListFieldNames -> itemcode; 項目名
Item Code は、接続されたデータセットに取得したい整数フィールドです。ただし、アイテムの名前でドロップダウンリストを検索したい
ListFieldINDex が原因で動作していますが、ドロップダウン リストで項目を選択すると、項目コードが取得され、編集ボックスに項目名が表示されます。それは私が必要とするものではありません。
コンポーネントの OnValidate イベントを使用して DisplayValue を変更できることはわかっていますが、選択した項目コードをドロップダウンリストから取得する方法がわかりません。接続されたデータセット フィールドを使用すると、常に 0 が返されます。ImmediatePost はフィールドで何も変更していません。FieldByName プロパティを使用して、データセットからフィールドを取得しています。
OnValidate で DisplayValue に渡すアイテムコードを選択するにはどうすればよいですか?
これを行うより良い方法はありますか?
アップデート:
現在、SyncMode を使用しています。これにより、選択したレコードからアイテムコードを簡単に取得できます。
ただし、必要な方法でコントロールを機能させることができませんでした。
- 直接アクセスするためにアイテムコードを直接入力する
- アイテム名検索のルックアップを開く
- I find the itemname による検索とルックアップ リストが閉じられたときに ItemCode を表示します。