前提・実現したいこと
現在、WindowForms
をVB.NET
にて開発しています。
入力されたテキストに合わせてドロップダウンリストが部分一致で絞り込まれていくコンボボックスを作成しているのですが、上手く動作せず、お力添えを願いたいです。
(コンボボックスへのテキスト入力にあわせてリアルタイム的に候補が絞り込まれていく、という動作)
発生している問題・エラーメッセージ
コンボボックスのKeyDownイベント
の中でDataSource(DataTable)
にSelect
で部分一致の絞り込みをする処理を行っているのですが…
- 絞り込みが行われるたびにドロップダウンリストの先頭のデータが自動で選択される
- データが選択されるとコンボボックスのテキストフォームにその内容が反映される
という動きになってしまい、絞り込みがうまくいきません。
絞り込み時にリスト先頭への自動選択を行わず、あるいはコンボボックスの入力欄への反映を行わずにドロップダウンリストの候補の絞り込みだけを行っていく方法などないでしょうか?
そもそもですが、私の考え方が間違っているかもしれないので、入力内容に応じて候補のリストを絞り込んでいくコンボボックスの作り方で良い方法があればそちらも教えていただきたいです。
よろしくお願いします。
該当のソースコード
コンボボックスのKeyDownイベント
で部分一致の絞り込みを実行しています。
Me.ComboBox1.DroppedDown = True Me.ComboBox1.DataSource = dt.Select(" [NAME] LIKE '%" + ComboBox1.Text + "%'").CopyToDataTable
試したこと
下記のサイトを参考にしたりしましたが、やはり絞り込み(DataSource
の更新)を行うとリストの先頭が自動で選択されてしまいます。
https://www.oborodukiyo.info/Forms/VS2015/F-FilterDataSourceOfComboBox
補足情報(FW/ツールのバージョンなど)
開発環境 Windows 10
ツール VisualStudio2019
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/08 04:16