用 ListView 数据填充多个文本框
Filling Multiple TextBoxes with ListView Data
我的脚本有 20 个文本框,最多 10 个列表视图项。每个项目只有一个子项目。我的目标是让这些文本框自动填充添加到 ListView 的每个项目。
文本框示例:
目前,下面的脚本有两个 for-loop 语句。第一个将点击列表视图中的所有项目。第二个 for 会将值输入到文本框。我不确定如何合并一种方法让脚本填充所有文本框。我想象将使用 case 语句。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For I As Integer = 0 To ListView1.Items.Count - 1
ListView1.Items(I).Selected = True
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox1.Text = item.Text
OpenModule.TextBox2.Text = item.SubItems(1).Text
Next
Next
End Sub
感谢任何帮助或想法。
这是对我设法创建的问题的有效回复。请记住,填充文本框的顺序与我的问题无关。我确定可以以某种方式缩短此代码,如果完成,我会将响应标记为已解决;在那之前,这是一个可行的替代方案。
Dim count = ListView1.Items.Count - 1 ' Using ListView1.Items.Count to get max number of rows to prevent error
' Highlight each item
For index As Integer = 0 To count
ListView1.Items(index).Selected = True
' First Selected Item
If index = 0 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox1.Text = item.Text
OpenModule.TextBox2.Text = item.SubItems(1).Text
Next
End If
' Second Selected Item
If index = 1 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox3.Text = item.Text
OpenModule.TextBox4.Text = item.SubItems(1).Text
Next
End If
' Third Selected Item
If index = 2 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox5.Text = item.Text
OpenModule.TextBox6.Text = item.SubItems(1).Text
Next
End If
' Forth Selected Item
If index = 3 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox7.Text = item.Text
OpenModule.TextBox8.Text = item.SubItems(1).Text
Next
End If
' Fith Selected Item
If index = 4 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox9.Text = item.Text
OpenModule.TextBox10.Text = item.SubItems(1).Text
Next
End If
' Sixth Selected Item
If index = 5 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox11.Text = item.Text
OpenModule.TextBox12.Text = item.SubItems(1).Text
Next
End If
' Seventh Selected Item
If index = 6 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox13.Text = item.Text
OpenModule.TextBox14.Text = item.SubItems(1).Text
Next
End If
' Eighth Selected Item
If index = 7 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox15.Text = item.Text
OpenModule.TextBox16.Text = item.SubItems(1).Text
Next
End If
' Ninth Selected Item
If index = 8 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox17.Text = item.Text
OpenModule.TextBox18.Text = item.SubItems(1).Text
Next
End If
' Tenth Selected Item
If index = 9 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox19.Text = item.Text
OpenModule.TextBox20.Text = item.SubItems(1).Text
Next
End If
' Deselect Current Item
ListView1.Items(index).Selected = False
Next
我的脚本有 20 个文本框,最多 10 个列表视图项。每个项目只有一个子项目。我的目标是让这些文本框自动填充添加到 ListView 的每个项目。
文本框示例:
目前,下面的脚本有两个 for-loop 语句。第一个将点击列表视图中的所有项目。第二个 for 会将值输入到文本框。我不确定如何合并一种方法让脚本填充所有文本框。我想象将使用 case 语句。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For I As Integer = 0 To ListView1.Items.Count - 1
ListView1.Items(I).Selected = True
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox1.Text = item.Text
OpenModule.TextBox2.Text = item.SubItems(1).Text
Next
Next
End Sub
感谢任何帮助或想法。
这是对我设法创建的问题的有效回复。请记住,填充文本框的顺序与我的问题无关。我确定可以以某种方式缩短此代码,如果完成,我会将响应标记为已解决;在那之前,这是一个可行的替代方案。
Dim count = ListView1.Items.Count - 1 ' Using ListView1.Items.Count to get max number of rows to prevent error
' Highlight each item
For index As Integer = 0 To count
ListView1.Items(index).Selected = True
' First Selected Item
If index = 0 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox1.Text = item.Text
OpenModule.TextBox2.Text = item.SubItems(1).Text
Next
End If
' Second Selected Item
If index = 1 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox3.Text = item.Text
OpenModule.TextBox4.Text = item.SubItems(1).Text
Next
End If
' Third Selected Item
If index = 2 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox5.Text = item.Text
OpenModule.TextBox6.Text = item.SubItems(1).Text
Next
End If
' Forth Selected Item
If index = 3 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox7.Text = item.Text
OpenModule.TextBox8.Text = item.SubItems(1).Text
Next
End If
' Fith Selected Item
If index = 4 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox9.Text = item.Text
OpenModule.TextBox10.Text = item.SubItems(1).Text
Next
End If
' Sixth Selected Item
If index = 5 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox11.Text = item.Text
OpenModule.TextBox12.Text = item.SubItems(1).Text
Next
End If
' Seventh Selected Item
If index = 6 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox13.Text = item.Text
OpenModule.TextBox14.Text = item.SubItems(1).Text
Next
End If
' Eighth Selected Item
If index = 7 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox15.Text = item.Text
OpenModule.TextBox16.Text = item.SubItems(1).Text
Next
End If
' Ninth Selected Item
If index = 8 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox17.Text = item.Text
OpenModule.TextBox18.Text = item.SubItems(1).Text
Next
End If
' Tenth Selected Item
If index = 9 Then
For Each item As ListViewItem In ListView1.SelectedItems
OpenModule.TextBox19.Text = item.Text
OpenModule.TextBox20.Text = item.SubItems(1).Text
Next
End If
' Deselect Current Item
ListView1.Items(index).Selected = False
Next