C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■85921 / 3階層)  comboboxのselectindexについて
□投稿者/ 魔界の仮面弁士 (1490回)-(2017/12/01(Fri) 22:41:28)
No85919 (あ さん) に返信
> あで始まる文字をコンボボックスに表示(カタカナとひらがな含む)。
> 「あり」、「アイス」、「アメリカンドック」
> この3つのみ表示させたいんです。

ComboBox1 自身の中身を入れ替えてしまうと再検索の際に困るので、
「全データ」を管理するためのリストと
「絞込んだデータ」を表示するためのコンボボックスは
別管理にした方が良いと思いますよ。



Imports System.Globalization
Public Class Form1
  Private list As New List(Of String)()

  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    '元データをコレクション変数に保持しておく
    list.Clear()
    list.Add("あ")
    list.Add("アイス")
    list.Add("アメリカンドック")
    list.Add("イカ")
    list.Add("いす")
    list.Add("いえ")

    'それを ComboBox に表示
    ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
    ComboBox1.DataSource = list
  End Sub

  Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    'テキストを書き換えるたびに、
    'リストの内容を先頭一致でフィルタリング
    Dim ci = New CultureInfo("ja-jp").CompareInfo
    Dim opt As CompareOptions
    opt = opt Or CompareOptions.IgnoreWidth   '全角と半角を区別しない
    opt = opt Or CompareOptions.IgnoreKanaType 'ひらがなとカタカナを区別しない
    opt = opt Or CompareOptions.IgnoreCase   '大文字と小文字を区別しない

    Dim txt As String = TextBox1.Text
    ComboBox1.DataSource = list.Where(
      Function(s)
        Return 0 = ci.Compare(Strings.Left(s, txt.Length), txt, opt)
      End Function).ToArray()
  End Sub
End Class

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[2]: comboboxのselectindexについて /あ →Re[4]: comboboxのselectindexについて /あ
 
上記関連ツリー

comboboxのselectindexについて / あ (17/11/29(Wed) 20:16) #85865
Re[1]: comboboxのselectindexについて / エラー仮面 (17/12/01(Fri) 16:53) #85918
  └ Re[2]: comboboxのselectindexについて / あ (17/12/01(Fri) 20:24) #85919
    └ comboboxのselectindexについて / 魔界の仮面弁士 (17/12/01(Fri) 22:41) #85921 ←Now
      └ Re[4]: comboboxのselectindexについて / あ (17/12/02(Sat) 19:23) #85923 解決済み
        └ Re[5]: comboboxのselectindexについて / あ (17/12/05(Tue) 21:30) #85965
          └ Re[6]: comboboxのselectindexについて / furu (17/12/06(Wed) 11:50) #85969
            └ Re[7]: comboboxのselectindexについて / あ (17/12/06(Wed) 18:54) #85975
              └ Re[8]: comboboxのselectindexについて / furu (17/12/06(Wed) 19:29) #85977
                └ Re[9]: comboboxのselectindexについて / あ (17/12/06(Wed) 19:56) #85979 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信