2012-06-01 28 views
-2

我有一個表單,它是1個列表視圖和一個文本框。
*列表視圖具有總共100行數據的
*列表視圖具有5列
*柱3僅具有兩個可能的詞yesno如何計算listview列中的特定單詞

我要計數的字yes的發生次數在第3列

總行可以用這個代碼數:

''''''''''COUNT TOTAL ADMISSION'''''''''''''' 

Dim rowcount As Integer = 0 

For Each item As ListViewItem In LVfeestatementBA_I.Items 
    rowcount = CInt(item.SubItems(0).Text) 'Considering every column always have some value 
Next 

txttotaladBA_I.Text = rowcount.ToString() 

任何幫助將是greatfull

編輯1

這是一所學校分配。正如我所說的,我的目標是找出第3列中某個單詞的出現次數。我擁有與代碼連接的MS訪問數據庫,並提供了列表視圖的數據。列表視圖有5列,共有100行。 col-3中的數據僅包含三個字gen,occcc。現在,在要予施加由thedarkspoon提供的功能在textbox1

編輯2

計數COL-3用於與碼字,並顯示像(68)的數目,但它沒有顯示結果。我只想將結果顯示在textbox1,前。如果總字數爲78,那麼在form_load時,它應該在textbox1中顯示78。我用最後textbox1.text = numofyes和變化而變化將來自integerstring現在它的工作

+1

很酷的在這裏尋求幫助,但容易與輕鬆的人討論解決您的問題緊急,因爲這是免費的網站。 –

回答

1

我不太明白您的情況(你必須要更清晰)解決了這個問題。

無論如何,考慮到顯示各有3分項目,我們知道,第三子項將有要麼「是」或「否」,我們可以建立像(使用LINQ)查詢值的項目一個ListView:

 var collectionOfListViewItems = listView1.Items.Cast<ListViewItem>(); 
    var numberOfrowsWithTheThirdSubItemTextEqualToYes = (from c in collectionOfListViewItems where c.SubItems[3].Text == "yes" select c).Count();   

沒有LINQ,你可以做一個foreach:

 var numberOfrowsWithTheThirdSubItemTextEqualToYes = 0; 
    foreach (ListViewItem item in listView1.Items) 
    { 
     if (item.SubItems[3].Text == "yes") 
      numberOfrowsWithTheThirdSubItemTextEqualToYes++; 
    } 
+0

感謝您的回覆安藤,問題還沒有解決 –

+0

感謝您的回覆安藤,抱歉不清楚我的觀點,因爲我是全新的使用visual basic 2010並試圖編制。 4我的學校。問題還沒有解決,因爲我說我的目的是找出第3列中出現一個單詞的次數,我有與代碼連接的ms訪問數據庫。現在從數據在列表視圖中描繪的位置開始。列表視圖總共有5列)總行是100與數據col-3現在只包含三個單詞「gen」,「occ」和「cc」要計算col-3與代碼的單詞並顯示數字喜歡( 68)在textbox1中。請解決我的問題thanx agian –

+0

請解決我的問題它的銀色(「_」) –

1

確定這裏你走了,我做了這樣的功能,但你可以很容易地適應這一個子程序:

Function countyes() 
    'Set up a variable to count the number of yes: 
    Dim numofyes As Integer = 0 
    'Count the number of yes (Replace listview1 with the name of your listview): 
    For Each item As ListViewItem In ListView1.Items 
     'If the Yes/No is in column 3, you are looking in subitem 2: 
     If item.SubItems(2).Text = "Yes" Then 
      'Increment the variable by one if the value is yes: 
      numofyes = numofyes + 1 
     End If 
    Next 
    'Return our total number of Yes that we found: 
    Return numofyes 
End Function 

希望這有助於!

+0

感謝您的回覆,我申請的功能,但它沒有顯示result.as你看到的問題,我只是想結果必須顯示在文本框1,如果單詞總數是78,那麼在form_load時它應該在textbox1中顯示結果。如果允許對其他單詞進行計數,那麼它也將應用您的函數。請幫助我 –

+0

很高興這一切都工作!當然,您可以用它來計算其他詞,只需在'if'語句中將單詞Yes替換爲您要計算的詞。很高興我可以幫助:) – thedarkspoon

+0

嗨thedarkspoon,你也可以幫忙,也請參閱代碼:Dim numofgeneral As String = 0 For Each item As ListViewItem In LVfeestatementBA_I.Items If item.SubItems(3).Text =「 GENERAL」&item.SubItems(4)。文本= 「男性」 然後 「由一個增量變量如果該值是肯定的: numofgeneral = numofgeneral + 1 結束如果 接着 txtgencategoryBA_I.Text = numofgeneral「它是給我錯誤「從字符串」男性「轉換爲鍵入'布爾'是無效的」幫助提前這個謝謝 –