DataTableのコンボボックスの複数列のドロップダウンリストを作成しましたが、今度はその両方の列も表示したいと思います。今のところ1列だけが表示されます(DisplayMemberプロパティ付き)。ですから、基本的には、両方の列をコンボボックスに表示してオートコンプリートを行いたいのです。私はコンボボックスの隣にあるテキストボックスに2列目を表示することに満足しますが、オートコンプリートとして機能する必要があります(選択されたインデックスの変更、値の表示の変更も同じです)。これは両方のDatable値(名前&姓)が別のDBテーブルに一緒に追加され、ユーザーが両方の値を同じ場所で見るためです。Combobox - 2 Datatableの列を表示
編集:任意の提案
Private Sub Combobox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles Combobox1.DrawItem
e.DrawBackground()
Dim drv As DataRowView = CType(Combobox1.Items(e.Index), DataRowView)
Dim id As String = drv("Name").ToString()
Dim name As String = drv("Surname").ToString()
Dim r1 As Rectangle = e.Bounds
r1.Width = r1.Width/2
Using sb As SolidBrush = New SolidBrush(e.ForeColor)
e.Graphics.DrawString(id, e.Font, sb, r1)
End Using
Using p As Pen = New Pen(Color.AliceBlue)
e.Graphics.DrawLine(p, r1.Right, 0, r1.Right, r1.Bottom)
End Using
Dim r2 As Rectangle = e.Bounds
r2.X = e.Bounds.Width/2
r2.Width = r2.Width/2
Using sb As SolidBrush = New SolidBrush(e.ForeColor)
e.Graphics.DrawString(name, e.Font, sb, r2)
End Using
End Sub
:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim SQL As String = "SELECT ID,Name ||' ' || Surname as FullName from MyTable"
Dim dtb As New DataTable()
dtb.Columns.Add("Name", System.Type.GetType("System.String"))
dtb.Columns.Add("Surname", System.Type.GetType("System.String"))
Using con As OracleConnection = New OracleConnection("Data Source=MyDB;User Id=Lucky;Password=MyPassword;")
Try
con.Open()
Using dad As New OracleDataAdapter(SQL, con)
dad.Fill(dtb)
End Using
Combobox1.DataSource = dtb
Combobox1.DisplayMember = "FullName"
Combobox1.ValueMember= "ID"
con.Close()
Catch ex As Exception
'MessageBox.Show(ex.Message)
Finally
con.Dispose()
End Try
End Using
End Sub
そして、描画線コンボボックスの列の間に?前もって感謝します !!
私はこれを使用していませんが、昨日のことを見ましたhttp://www.codeproject.com/Articles/8619/Flat-MultiColumn-Combobox-with-Autocomplete – FloatingKiwi
私はこれallreadyをテストした、それは正しく動作しません。その上、私の解決策はうまくいきました。私は両方の列のオートコンプリートをしたいだけです。私の以前のスレッド:http://stackoverflow.com/questions/38868261/flat-multi-column-combobox-filling-columns-with-db-tables – LuckyLuke82
ええ、それはあなたが投稿した。彼らは彼らの図書館で自動完成を試みた方法を見てみましたか? – FloatingKiwi