簡體   English   中英

所有列表視圖數據使用循環顯示在文本框中

[英]All Listview data show in textbox using loop

    Dim Mysqlconn = New SqlConnection
    Mysqlconn.ConnectionString = "Data Source=DESKTOP-D32ONKB;Initial Catalog=Attendance;Integrated Security=True"

    Dim dt As DataTable = New DataTable("studentdata")

    Mysqlconn.Open()

    Dim query As String
    query = "select ID from studentdata where Class='" & ComboBox1.Text & "'"

    Dim Command = New SqlCommand(query, Mysqlconn)
    Dim dr = Command.ExecuteReader(CommandBehavior.CloseConnection)

    ListView1.Items.Clear()
    Dim x As ListViewItem

    Do While dr.Read = True
        x = New ListViewItem(dr("ID").ToString)
        ListView1.Items.Add(x)
    Loop

    For i = 0 To ListView1.Items.Count - 1
        TextBox1.Text = ListView1.Items(i).SubItems(0).Text
    Next

在此代碼中, Textbox1顯示Listview1的最后一行。 我的要求是Listview1中textbox1中的所有Listview1數據一一顯示。 是否可以在 textbox1 中顯示使用循環從 Listview1 讀取所有數據。 謝謝...

一個文本框一次只包含一個字符串。 如果它設置為允許多行字符串(問題中不清楚),您可以用換行符分隔每個項目。 否則,您可以使用逗號等分隔符分隔字符串。

Dim query As String = "select ID from studentdata where Class= @class"
Using conn As New SqlConnection("Data Source=DESKTOP-D32ONKB;Initial Catalog=Attendance;Integrated Security=True"), _
      cmd  As New SqlCommand(query, conn)

    cmd.Parameters.Add("@class", SqlDbType.NVarChar, 20).Value =  ComboBox1.Text
    conn.Open()
    Using dr As SqlDataReader = cmd.ExecuteReader()
        While dr.Read()
            ListView1.Items.Add(New ListViewItems(dr("ID").ToString()))
        End While
    End Using
End Using

TextBox1.Text = String.Join(",", ListView1.Items.Select(Function(i) i.SubItems(0).Text))

另請注意我如何使用查詢參數在 SQL 命令中包含 combobox 值。 這是一件大事 任何其他事情都會給你帶來麻煩,通常遲早會出現。

使用 as 循環,正確的方法是這樣的:

Dim lines As New List(Of String)

For i = 0 To ListView1.Items.Count - 1
    lines.Add(ListView1.Items(i).Text)
Next

TextBox1.Lines = lines.ToArray()

您不能一直將Text屬性設置為新值並期望舊值無緣無故地存在。 您每次都可以將 append 發送到Text ,但效率很低。 正確的方法是創建一個值列表,將其轉換為String數組,然后將其分配給Lines屬性。

請注意,獲取第一個子項的Text沒有意義,因為它與項目的Text相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM