如何使用 ListView1.SelectedItems().Text

Posted

技术标签:

【中文标题】如何使用 ListView1.SelectedItems().Text【英文标题】:How to work with ListView1.SelectedItems().Text 【发布时间】:2013-11-18 12:08:31 【问题描述】:

我正在 vb.net 中做一个项目,我已经用 listview 制作了一个表格,现在问题是我无法获取特定的列项目而只能获取第一列的项目(@ 987654321@) 和即 0(零)...ListView1.SelectedItems(1/2/3/so on).Text 不起作用。

我的代码是:

s = one_way.ListView1.SelectedItems(4).Text
cmd1 = New OleDbCommand("Select reference_no from Booking_Details", cn)
cmd1 = New OleDbCommand("insert into Booking_Details values(" & i & ",'" & one_way.ListView1.SelectedItems(0).Text & "','" & main.ComboBox1.Text & "','" & main.ComboBox9.Text & "','" & main.RadioButton2.Text & "','" & main.ComboBox2.Text & "','" & main.ComboBox4.Text & "','" & main.DateTimePicker2.Text & "','" & s & "',' ',' ','" & main.ComboBox5.Text & "','" & main.ComboBox6.Text & "','" & main.ComboBox7.Text & "')", cn)
cmd1.ExecuteNonQuery() 

s = one_way.ListView1.SelectedItems(4).Text
cmd1 = New OleDbCommand("Select reference_no from Booking_Details", cn)
cmd1 = New OleDbCommand("insert into Booking_Details values('" & s & "')", cn)
cmd1.ExecuteNonQuery()

请有人帮忙。

【问题讨论】:

我通过从 listview1.selecteditems(4).text 获取项目来为“字符串 s”赋值。当它是 0 而不是 4 时,它的工作完美 【参考方案1】:

在列表视图中,selecteditem(s) 指的是行。为了向其中添加列,您必须创建和分配子项,这就是您需要获取信息的方式:

someInfo = listview.SelectedItems(X).SubItems(Z).Text

'SelectedItems(N).Text' 只是返回第 0 列或项目文本。

你的代码也适合sql injection attack - 你应该使用参数:https://***.com/a/16760887/1070452

【讨论】:

但是我已经用那个做了一张桌子......我有那个截图我怎么给你看?? 我看不出这与它有什么关系。您询问了如何访问 ListView 中的其他列。如果它有列,那么它可能有子项,上面是你如何获得存储在那里的值......大概是 SQL 语句。您发布的代码显示 SelectedItems 0 和 4 - 它们是不同的项目或行。很可能你的意思是SelectedItems(0).SubItems(4)

以上是关于如何使用 ListView1.SelectedItems().Text的主要内容,如果未能解决你的问题,请参考以下文章

如何使用本机反应创建登录以及如何验证会话

如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]

如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?

如何使用laravel保存所有行数据每个行名或相等

如何使用 Math.Net 连接矩阵。如何使用 Math.Net 调用特定的行或列?

WSARecv 如何使用 lpOverlapped?如何手动发出事件信号?