質問編集履歴

1 コードの表示変更

Com

Com score 22

2019/04/15 12:13  投稿

.NET WindowsForm DataGridView TextBox のオートコンプリート機能について
このサイトを参考にDataGridViewのTextBoxでオートコンプリート機能を実装しました。
https://www.atmarkit.co.jp/fdotnet/dotnettips/534dgvautocomp/dgvautocomp.html
一応動いているんですが、検索結果が前方一致のみの結果しか出ません。
これって、あいまい検索にするにはTextBoxクラスを自作するしかないのでしょうか?
既存の機能であいまい検索する方法はありますでしょうか?
作成した箇所抜粋になります。(VisualStudio2010Express)
1 Private Sub DGVSend_EditingControlShowing(sender As Object, e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DGVSend.EditingControlShowing
```
Private Sub DGVSend_EditingControlShowing(sender As Object, e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DGVSend.EditingControlShowing
2  Dim _dgv As DataGridView = DirectCast(sender, DataGridView)
3  If TypeOf e.Control Is DataGridViewTextBoxEditingControl AndAlso _dgv.CurrentCell.ColumnIndex = 1 Then
   Dim _dgv As DataGridView = DirectCast(sender, DataGridView)
   If TypeOf e.Control Is DataGridViewTextBoxEditingControl AndAlso _dgv.CurrentCell.ColumnIndex = 1 Then
4     ' 編集のために表示されているコントロールを取得 AutoComにはあらかじめString()を設定済み
5     Dim _txt As DataGridViewTextBoxEditingControl = CType(e.Control, DataGridViewTextBoxEditingControl)
6    _txt.AutoCompleteMode = AutoCompleteMode.SuggestAppend
7     _txt.AutoCompleteSource = AutoCompleteSource.CustomSource
8     _txt.AutoCompleteCustomSource = AutoComp
      ' 編集のために表示されているコントロールを取得 AutoComにはあらかじめString()を設定済み
      Dim _txt As DataGridViewTextBoxEditingControl = CType(e.Control, DataGridViewTextBoxEditingControl)
      _txt.AutoCompleteMode = AutoCompleteMode.SuggestAppend
      _txt.AutoCompleteSource = AutoCompleteSource.CustomSource
      _txt.AutoCompleteCustomSource = AutoComp
9   End If
   End If
10 End Sub
End Sub
```
何卒よろしくお願いいたします。
  • C#

    12174 questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • .NET Framework

    711 questions

    .NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

  • VB.NET

    1344 questions

    Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る