我正在使用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(" ", "").Replace(" <br/>", "")
Me.ModalPopupExtender2.Show()
End Sub
答案 0 :(得分:0)
您应该使用SetSelected
控件的ListBox
方法。
试试这个:
'You probably need to clear anything selected first.
listbox.ClearSelected()
Dim tempString() As String = gvrow.Cells(3).Text.Replace(" ", "").Split("<br/>")
For Each s As String In tempString
listbox.SetSelected(listbox.Items.IndexOf(s.Trim()), True)
Next
修改强>
我添加了一个修剪,以便有希望匹配您的列表。由于您要添加HTML标记,因此某些空格可能会阻止它在ListBox中找到匹配项。你必须调整它,但我确认它确实有效。这是假设我正确理解你的问题:)
总结一下您的问题:
您有一个包含静态项目的Listbox
。 Listbox.SelectionMode
设置为MultiSimple
或MultiExtend
。
您希望能够将字符串传递给Listbox
,表示应该选择或突出显示的内容。