如何自动填充ListBox?

时间:2016-05-19 02:41:28

标签: vb.net listbox

我正在使用VB,我有一个gridview,您可以在其中查看编辑或删除按钮。

'我有一个列表框,用户可以在其中选择多项     红色     蓝色     绿色

从列表框中取出所有选定的项目并添加br标记

Dim t As String = ""
For Each item As ListItem In listbox.Items
    If item.Selected Then
        t += item.Text + " " + " <br/> "
    End If
Next

在数据库中插入字符串't'

Dim insertQuery As String = "INSERT [myTable] ([col1]) VALUES (@col1)"
Dim sqlConn As New SqlConnection(myConnectionString)
sqlConn.Open()
Dim cmd1 = New SqlCommand(insertQuery, sqlConn)
cmd1.Parameters.AddWithValue("@col1", t)
cmd1.ExecuteNonQuery()

问题当用户点击编辑按钮时,我想自动弹出ListBox。当我运行它时,它不会自动选择项目。如果是文本框或单选按钮,那么它可以正常工作。它只适用于列表框。

' This function is when user check on edit button on gridview 
Protected Sub edit_Click(ByVal sender As Object, ByVal e As ImageClickEventArgs)
    listbox.Text = gvrow.Cells(3).Text.Replace("&nbsp;", "").Replace(" <br/>", "")
    Me.ModalPopupExtender2.Show()
End Sub

1 个答案:

答案 0 :(得分:0)

您应该使用SetSelected控件的ListBox方法。

试试这个:

'You probably need to clear anything selected first.
listbox.ClearSelected()
Dim tempString() As String = gvrow.Cells(3).Text.Replace("&nbsp;", "").Split("<br/>")
For Each s As String In tempString
    listbox.SetSelected(listbox.Items.IndexOf(s.Trim()), True)
Next

修改
我添加了一个修剪,以便有希望匹配您的列表。由于您要添加HTML标记,因此某些空格可能会阻止它在ListBox中找到匹配项。你必须调整它,但我确认它确实有效。这是假设我正确理解你的问题:)

总结一下您的问题:
您有一个包含静态项目的ListboxListbox.SelectionMode设置为MultiSimpleMultiExtend

您希望能够将字符串传递给Listbox,表示应该选择或突出显示的内容。