2016-01-22 53 views
-1

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

我会在这里发布我的表单截图,所以它更有意义,但基本上,我需要编码的东西,让我选择多个项目在ListViewBox,然后显示根据这些选择一个总价格(在盒子BTW每个项目都有不同的价格)

文件名是JuneEvent,JulyEvent和AugEvent而且每一个都有它们的ClassID,ClassDescripion几个记录字段,ClassTime和ClassPrice。

我一直被困在这个年龄有人可以帮助我!感谢大声笑:P

PS 目前唯一的代码,我的形式显示在基于什么是在组合框中选定的ListViewBox某个文件...

Click here to see the screenshot of program form

Here is the form in action - 忽略右边的表格 - 我会处理的,后来

编辑:最新验证码:

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 
+1

开始与ItemChecked事件工作,然后在检查的项目使用CheckedItems收集循环,提取与列价格,总计到一个运行总数,显示总数。在这些主题上添加一些搜索,你会很快“解除卡住” – Steve

+0

看看这里[问]和这里[麦克]找出如何发布我们需要的所有信息的问题。发布程序的图像通常不会很有帮助。包含足够的代码以便我们可以复制问题并帮助回答它会更好。 –

+0

我认为问题出在_JuneEvent.ClassPrice_上。向我们展示如何启动和分配值。 –

回答

0

由于您没有发布供我们学习的代码,因此我只需在此添加将执行您所需操作的代码。我希望你可以用它作为参考。

 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)。文本是要被总计的金额。

+0

谢谢,但它仍然没有得到形式的价格:/:S,我试过你的方式和这种方式:Private Sub lvwEvents_ItemChecked(ByVal sender As Object,ByVal e As System.Windows.Forms.ItemCheckedEventArgs)Handle lvwEvents .ItemChecked 昏暗totalAmt作为双人= 0 对于每个LV如ListViewItem的在lvwEvents.Items 如果lv.Checked = TRUE,则 totalAmt + = JuneEvent.ClassPrice 结束如果 接着 txtPrice.Text = FormatNumber(totalAmt,2) End Sub - 但没有东西放在总箱子(只有0。00) –

+0

请在您的问题中添加该代码,以便我们可以更好地理解您在做什么。 :)在评论中也很难阅读。 –

+0

对不起,我不知道如何做到这一点(我是新来的)我已经将代码添加到主要问题中,并且它仍然出现了相同的问题(所有这些都没有新行等混乱 - 我该怎么办? ? –

0

我的朋友设法解决这个问题对我来说:这是最终的结果:

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