在listview中将按钮添加为子项VB.NET
你好。我在listview中遇到了这个问题。我想在每个对应的数据中添加listview中的控件按钮。我的意思是,每一行都有数据,名为“Update”的控件按钮也会显示在listview的最后一列。下面的代码不起作用,我不知道如何解决这个问题在listview中将按钮添加为子项VB.NET,vb.net,Vb.net,你好。我在listview中遇到了这个问题。我想在每个对应的数据中添加listview中的控件按钮。我的意思是,每一行都有数据,名为“Update”的控件按钮也会显示在listview的最后一列。下面的代码不起作用,我不知道如何解决这个问题 Dim li As ListViewItem Dim dt As New DataTable Dim da As SqlDataAdapter connect() Dim sql As String = "SELEC
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)
您可以创建如下自定义类:
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
Dim item As New CustomItem("Update", ListView1)
然后将新的CustomItem
插入ListView
,如下所示:
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
Dim item As New CustomItem("Update", ListView1)
这是一个开始。它没有实现很多功能,但您可以添加这些功能。这可能会有所帮助。对于DB应用程序来说,ListView是一个糟糕的选择。不仅要创建每一行和每一列,而且所有内容都是字符串。使用DataGridView要容易得多,它已经有一个按钮列类型。现在我可以在listview中显示按钮,但我希望这个按钮显示为子项。