2013-01-15 45 views
0

我想將我的gridview的templateFields'值添加到List(Of String)。那些templateFields由2 Labels組成。我試圖做到的,是將每個新的字符串添加到現有的stings列表

  1. 爲了能夠遍歷GridView的每一行,得到了重複模板列的值。

  2. 將行的TemplateFields1值存儲在字符串中。

  3. 將該字符串添加到字符串列表中。

這裏是我的代碼:

For Each row As GridViewRow In GridView1.Rows` 
    Dim stri As String 
    Dim ttt As Label = DirectCast(row.FindControl("Title"), Label) 
    Dim desc As Label = DirectCast(row.FindControl("lblDescription"), Label) 
    stri = ttt.Text.ToString & desc.Text.ToString 
    Dim list As New List(Of String) 
    While (stri <> Nothing) 
     list.Add(stri) ' Add every new string in a new index of the list 
    End While 
Next 

所以在while循環,採取stri儲存於list(0),然後繼續for loop,獲得下stri並將其存儲在list(1)而新指數保持list(0)依此類推,直到所有templateField stri完成。

任何想法或建議?

+1

你應該只移動'昏暗List'的'對於每個row'循環之外。您現在每次都在創建一個新列表。 –

回答

1

您必須在循環外部創建列表。我還與If語句替換While循環:

Dim list As New List(Of String) 

For Each row As GridViewRow In GridView1.Rows 
    Dim ttt As Label = DirectCast(row.FindControl("Title"), Label) 
    Dim desc As Label = DirectCast(row.FindControl("lblDescription"), Label) 
    Dim stri As String = ttt.Text.ToString & desc.Text.ToString 

    If (Not String.IsNullOrEmpty(stri)) 
     list.Add(stri) 
    End If 
Next 
+0

工作,但我如何將列表中的所有項目打印到文本框?是否像'我爲整數= 0到list.count - 1 TextBox.text = list.item(i).ToString'? – HShbib

+0

@HumamShbib最好的事情是將這個新的問題在這裏在stackoverflow –

相關問題