0
See pic我对vb.net不熟悉。所以,我试图做的是当我点击选择的产品,我把数量。总价格将显示列表视图中数量和价格的乘积值。我把情况2的代码,因为它是价格,但是当我运行它,它显示0,然后当我改变它的值为2,它不会乘。这里是我到目前为止的代码:如何将文本框中的值与列表视图中的列相乘?
Imports System.Data.SqlClient
Imports System.IO
Public Class Form2
Dim con As SqlConnection = New SqlConnection("server=.\SQL;database=try;Trusted_Connection=TRUE")
Dim cmd As SqlCommand
Dim cmd2 As SqlCommand
Dim rdr As SqlDataReader
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
con.Open()
con.Close()
list()
End Sub
Sub list()
con.Open()
cmd = New SqlCommand("SELECT * FROM ProductTable", con)
rdr = cmd.ExecuteReader
ListView1.Items.Clear()
If rdr.HasRows Then
Do While rdr.Read()
Dim arr As String() = New String(2) {}
Dim itm As ListViewItem
arr(0) = rdr("productID")
arr(1) = rdr("product")
arr(2) = rdr("price")
itm = New ListViewItem(arr)
ListView1.Items.Add(itm)
Loop
End If
con.Close()
End Sub
Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
With Me.ListView1
Dim i As Integer
For Each item As ListViewItem In ListView1.SelectedItems
i = item.Index
Next
Dim innercounter As Integer = 0
For Each subItem As ListViewItem.ListViewSubItem In ListView1.Items(i).SubItems
Dim myString As String = ListView1.Items(i).SubItems(innercounter).Text
Select Case innercounter
Case 2
txtqty.Text = 0.ToString()
txtqty.Text = CType(0, String)
txtqty.Text = CStr(0)
txtqty.Text = "0"
txtprice.Text = myString * txtqty.Text
End Select
innercounter += 1
Next
End With
End Sub
End Class
集'选项严格On'文本控件包含文本。他们不是数字,除非你转换成数字,否则不能相乘。文本控件通常还需要用户输入,这在表单加载中不会发生。与选择ListView项目相同。这些全局数据库提供者对象也会引起你的头痛。阅读[问]并参加[游览] – Plutonix
您必须将'strings'转换为'integer' –