2012-04-18 86 views
1

我的程序需要一個複選框項目,並根據發票上的項目上存在的序列號,從金額列表中減去一個 我在列表視圖中具有以下內容詳細信息頁面,我添加以下代碼:通過使用複選框從列表視圖中刪除項目

項目 - 低襪(粉紅色)
序列號 - 34-75-860
價格 - 5.89
金額 - 12

除非他們是在列而不是像

012之類的行
Dim items As New ListViewItem 
    items = ListView1.Items.Add("Low Socks(Pink)") 
    items.SubItems.Add("34-75-860") 
    items.SubItems.Add("$5.89") 
    items.SubItems.Add("12") 

    items = ListView1.Items.Add("Low Socks(Black)") 
    items.SubItems.Add("34-75-900") 
    items.SubItems.Add("$5.89") 
    items.SubItems.Add("25") 

    items = ListView1.Items.Add("Low Socks(Red)") 
    items.SubItems.Add("34-75-756") 
    items.SubItems.Add("$5.89") 
    items.SubItems.Add("10") 

    items = ListView1.Items.Add("Low Socks(Orange)") 
    items.SubItems.Add("34-75-234") 
    items.SubItems.Add("$5.89") 
    items.SubItems.Add("34") 

    items = ListView1.Items.Add("Low Socks(Blue)") 
    items.SubItems.Add("34-75-598") 
    items.SubItems.Add("$5.89") 
    items.SubItems.Add("23") 
End Sub 

在我的發票頁面上,我在發票上的項目旁邊有複選框。當點擊複選框時,我希望金額減少一個。以後我會去和它更改爲需要的實際數額將取決於有多少,他們下令該項目的...我對我的複選框代碼是這樣的:

Dim item As ListViewItem 
    Dim i As Integer 
    Dim count As Integer 

    'count the number of items in itemdetails2 listview 
    count = ItemDetails2.ListView1.Items.Count - 1 

    'loop to read each item in the list 
    For i = 1 To count 

     If i > count Then Exit For 

     item = ItemDetails2.ListView1.Items(i) 

     'compare the item to the serial number 
     If item.Checked = True Then 

      If (item.SubItems(0).Text = "34-75-860") Then 
       item.SubItems(2).Text -= 1 
      End If 

      i = i + 1 
      count = count - 1 
     End If 

    Next 

    ItemDetails2.Show() 
End Sub 

現在不看喜歡它做任何事情。我試圖將我的子項目上的索引更改爲1和3而不是0和2,但是我想,因爲它們是子項目,因此它們需要是子項目索引0和子項目索引2,因爲有一個項目和三個子項目。如果這是有道理的.... 請幫助。

回答

2

沒有挖掘到您的內容編制索引,我可以看到你的治療字符串作爲等作爲數字

item.SubItems(2).Text -= 1 

當你應該嘗試:

item.SubItems(2).Text -= CStr(CDec(item.SubItems(2).Text) - 1D) 

我希望幫助...

+0

肯定有道理,這將是必要的,我改變了我的編碼,但它仍然無法正常工作。我也嘗試使用其他指數金額,但仍然無法正常工作。 – 2012-04-18 18:36:29

+0

@Amen,我想你的意思是在你的建議中使用=而不是 - =。 – dwilliss 2017-10-09 14:27:02