美好的一天。我在listview中遇到了这个问题。我想在listview中添加每个相应数据的控制按钮。我的意思是每个有数据的行,名为“Update”的控制按钮也会显示在listview的最后一列。下面的代码不起作用,我不知道如何解决这个问题。
Dim li As ListViewItem
Dim dt As New DataTable
Dim da As SqlDataAdapter
connect()
Dim sql As String = "SELECT * FROM tbl_Data"
da = New SqlDataAdapter(sql, cn)
da.Fill(dt)
lv.Items.Clear()
For i = 0 To dt.Rows.Count - 1
li = lv.Items.Add(dt.Rows(i).ItemArray(0).ToString)
li.SubItems.Add(dt.Rows(i).ItemArray(1).ToString)
li.SubItems.Add(dt.Rows(i).ItemArray(2).ToString)
li.SubItems.Add(dt.Rows(i).ItemArray(3).ToString)
li.SubItems.Add(dt.Rows(i).ItemArray(4).ToString)
li.SubItems.Add(dt.Rows(i).ItemArray(5).ToString)
li.SubItems.Add(dt.Rows(i).ItemArray(6).ToString)
li.SubItems.Add(dt.Rows(i).ItemArray(7).ToString)
Next
Dim b = New Button
b.Name = "update"
b.Text = "UPDATE"
lv.Controls.Add(b)
答案 0 :(得分:0)
您可以创建这样的自定义类:
Public Class CustomItem
Inherits ListViewItem
Public customButton As Button
Public Sub New(ByVal buttonText As String, ByRef listView As ListView)
Me.Text = buttonText
listView.Items.Add(Me)
customButton = New Button
customButton.Left = Me.GetBounds(ItemBoundsPortion.Entire).Left
customButton.Left = Me.GetBounds(ItemBoundsPortion.Entire).Left
customButton.Width = Me.GetBounds(ItemBoundsPortion.Entire).Width
customButton.Text = buttonText
listView.Controls.Add(customButton)
End Sub
End Class
然后将新的CustomItem
插入ListView
,如下所示:
Dim item As New CustomItem("Update", ListView1)
这是一个开始。它没有实现许多功能,但您可以添加它。