【问题标题】:Adding button in listview as subitem VB.NET在列表视图中添加按钮作为子项 VB.NET
【发布时间】:2017-04-08 10:23:03
【问题描述】:

美好的一天。我在列表视图中有这个问题。我想在每个相应数据的列表视图中添加控制按钮。我的意思是每一行都有数据,名为“更新”的控制按钮也将显示在列表视图的最后一列。下面的代码不起作用,我不知道如何解决这个问题。

    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)

【问题讨论】:

  • 这可能会有所帮助。 Adding buttons into a Listview in WinForms
  • ListView 对于数据库应用来说是个糟糕的选择。您不仅必须创建每一行和每一列,而且所有内容都是字符串。使用 DataGridView 更容易并且它已经有一个按钮列类型

标签: vb.net


【解决方案1】:

你可以像这样创建一个自定义类:

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

然后像这样在ListView 中插入一个新的CustomItem

Dim item As New CustomItem("Update", ListView1)

这是一个开始。它有很多功能没有实现,但您可以添加。

【讨论】:

  • 现在我可以在列表视图中显示按钮,但我希​​望这个按钮显示为子项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-16
  • 1970-01-01
  • 2016-03-31
  • 1970-01-01
  • 1970-01-01
  • 2020-07-04
相关资源
最近更新 更多