如何从选中的ListViewBox vb.net中获取数据

如何从选中的ListViewBox vb.net中获取数据,vb.net,listview,listbox,checkedlistbox,Vb.net,Listview,Listbox,Checkedlistbox,您好:)基本上我有一个选中的ListViewBox(我在属性部分选择了“Checked=true”)。我需要能够从listViewBox中选中的项目/行中获取数据,以计算文本框中的总价。我有一个组合框,您可以在其中选择要在ListViewBox中显示的文件(因此lvwbox可以在3个不同的文件之间切换,但我可以使用一个简单的If语句来解决这个问题-If cboDate=“…”然后….等等。所以这不是问题) 我会在这里发布我的表单截图,这样会更有意义,但基本上,我需要编写一些代码,让我在ListV

您好:)基本上我有一个选中的ListViewBox(我在属性部分选择了“Checked=true”)。我需要能够从listViewBox中选中的项目/行中获取数据,以计算文本框中的总价。我有一个组合框,您可以在其中选择要在ListViewBox中显示的文件(因此lvwbox可以在3个不同的文件之间切换,但我可以使用一个简单的If语句来解决这个问题-If cboDate=“…”然后….等等。所以这不是问题)

我会在这里发布我的表单截图,这样会更有意义,但基本上,我需要编写一些代码,让我在ListViewBox中选择多个项目,然后根据这些选择显示总价(顺便说一句,框中的每个项目都有不同的价格)

文件名是JuneEvent、JulyEvent和AugEvent,每个文件都有几个记录字段,分别是ClassID、ClassDescription、ClassTime和ClassPrice

我已经被困在这个问题上很久了有人能帮帮我吗!谢谢,哈哈

p、 目前我在表单上的唯一代码是根据组合框中选择的内容在ListViewBox中显示某个文件

-忽略右侧的桌子-我稍后再处理

编辑:最近代码:

Private Sub lvwEvents_ItemChecked(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles lvwEvents.ItemChecked
        Dim totalAmt As Double = 0
        For Each lv As ListViewItem In lvwEvents.Items
            If lv.Checked = True Then
                totalAmt += JuneEvent.ClassPrice
            End If
        Next
        txtPrice.Text = FormatNumber(totalAmt, 2)
End Sub 

由于您没有发布供我们学习的代码,我将在这里添加代码,以完成您需要执行的操作。我希望你能把它作为你的参考

     Private Sub ListView1_ItemChecked(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles ListView1.ItemChecked
        Dim totalAmt As Double = 0 
        For Each lv As ListViewItem In ListView1.Items
            If lv.Checked = True Then
                totalAmt += Val(lv.Text)
            End If
        Next
        lblLabelForYourTotalAmt.Text = FormatNumber(totalAmt,2)
     End Sub

这里我假设ListView1.Items(0.Text)是要求和的金额。

我的朋友设法为我解决了这个问题:这是最终结果:

  Private Sub lvwEvents_ItemChecked(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles lvwEvents.ItemChecked
    Dim totalAmt As Double = 0
    'check what items are checked in list view
    For Each lv As ListViewItem In lvwEvents.Items
        If lv.Checked = True Then
            'add checked items value to total
            totalAmt += Double.Parse(lv.SubItems(4).Text.Substring(1))
        End If
    Next
    'display total price
    txtPrice.Text = FormatNumber(totalAmt, 2)
End Sub

开始处理ItemChecked事件,然后使用CheckedItems集合循环检查的项目,提取包含价格的列,将其求和为运行总计,显示总计。在这些主题上添加一点搜索,你会很快“摆脱困境”,看看这里和这里,了解如何发布包含我们需要的所有信息的问题。发布程序的图像通常不是很有帮助。最好包含足够的代码,我们可以复制您的问题并帮助您解答。我认为问题在于JuneEvent.ClassPrice。向我们展示您如何初始化和分配值。谢谢,但它仍然无法从以下表单中获得价格:/:S,我尝试了您的方法,方法是:Private Sub lvwEvents_ItemChecked(ByVal sender作为对象,ByVal e作为System.Windows.Forms.ItemCheckedEventArgs)对于lvwEvents中的每个lv As ListViewItem,将lvwEvents.ItemChecked Dim totalAmt处理为Double=0。Items如果lv.Checked=True,则totalAmt+=JuneEvent.ClassPrice如果Next txtPrice.Text=FormatNumber(totalAmt,2)结束子项-但没有任何内容放入“总计”框(仅0.00)。请在您的问题中添加该代码,以便我们更好地了解您在做什么。:)在评论中也有点难读。对不起,我不知道怎么做(我是新来的)我已经在主要问题中添加了代码,但仍然没有出现相同的问题(都是杂乱无章的,没有新行等等。-我该怎么做?你能告诉我们在你的代码中JuneEvent.ClassPrice是什么吗?