2016-01-22 2 views
-1

Привет :) В основном у меня есть проверенный ListViewBox (я выбрал «checked = true» в разделе свойств). Мне нужно получить данные из проверенных элементов/строк в спискеViewBox, чтобы вычислить общую цену в текстовом поле. У меня есть поле со списком, в котором вы можете выбрать, какой файл вы хотите отображать в ListViewBox (поэтому lvwbox может чередовать 3 разных файла, но я могу решить это, используя простой оператор If - Если cboDate = "..... «Тогда ..... и т. Д., так что это не проблема)Как получить данные из проверенного ListViewBox vb.net

Я выложу снимок экрана моей формы здесь, так что это имеет смысл, но в основном мне нужно закодировать что-то, что позволяет мне выбирать несколько элементов в ListViewBox, а затем отображает общую цену на основе этих выборов (кстати, каждый элемент в Коробке имеет другую цену)

Имена файлов: JuneEvent, JulyEvent и AugEvent, и каждый из них имеет несколько полей записей, которые являются ClassID, ClassDescripion , ClassTime и ClassPrice.

Я застрял на этом целую вечность, кто-то может помочь мне! спасибо лол: P

пс В настоящее время единственный код у меня есть на форме, чтобы отобразить определенный файл в ListViewBox на основе того, что выбрано в поле со списком ...

Click here to see the screenshot of program form

Here is the form in action - игнорировать таблицу на правой стороне - я разберусь с этим позже

EDIT: НЕДАВНИЙ КОД:

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

. Посмотрите здесь [ask] и здесь [mcve], чтобы узнать, как публиковать вопросы со всей необходимой нам информацией. Публикация изображений вашей программы обычно не очень полезна. Гораздо лучше включить достаточно кода, чтобы мы могли дублировать вашу проблему и ответить на нее. –

+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) .Text является сумма суммируется.

+0

Спасибо, но он по-прежнему не получает цену от формы: /: S и я пробовал это по-вашему и так: Private Sub lvwEvents_ItemChecked (отправитель ByVal как объект, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) обрабатывает lvwEvents .ItemChecked Dim totalAmt As Double = 0 Для каждого лВ в качестве ListViewItem В lvwEvents.Items Если lv.Checked = True Then totalAmt + = JuneEvent.ClassPrice End If Next 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 
Смежные вопросы