2014-03-25 43 views
0

所以我有一個有兩列列表視圖。 listview視圖是細節。保存柱的分離

我已經成功導入的文件與正確的分裂列表視圖。我使用的代碼,

Using sr As StreamReader = File.OpenText(file path) While (-1 < sr.Peek()) Dim line As String = sr.ReadLine() Dim item As New ListViewItem(line.Split(":"c)) ListView1.Items.Add(item) End While sr.Close() End Using

所以這個進口線從我的文件,程序到正確的列有:爲分裂。 現在我也有一個選項,讓用戶從我的程序將數據添加到文件中以同樣的方式,我用這個代碼,

 Using sw As StreamWriter = File.AppendText(file path) 
    For Each item As ListViewItem in ListView1 
     Dim line As String = Nothing 
     For Each entry As String in item.SubItems 
     line.Append(entry & ":") 
     Next For 
     sw.WriteLine(line) 
    Next For 
    sw.Close() 
    End Using 

來自Separating text from .txt into colums in listview (VB.net mobile) 可是我不好,VB給出了這樣的錯誤,

錯誤1表達式的類型爲「System.Windows.Forms.ListView」,它不是集合類型。 C:\ Users \ xxxx \ documents \ visual studio 2012 \ xxxxx \ Form1.vb 97

我不知道爲什麼我得到這個錯誤,是因爲我的列表視圖屬性?

我希望能夠在用戶單擊按鈕時將數據保存到文本文件。

+0

'對於item.SubItems'每個條目作爲字符串是錯誤的 - 物品包含子項的集合,所以你不能用字符串varible – Plutonix

回答

1

這條線:

For Each item As ListViewItem in ListView1 

應該是這樣的:

For Each item As ListViewItem in ListView1.Items 

這行:

For Each entry As String in item.SubItems 

應該是這樣的:

For Each entry As ListViewItem.ListViewSubItem in item.SubItems 

然後您從子項目的Text屬性中獲取一個字符串。

+0

迭代它對於每個項目的ListViewItem在listview1.Items 昏暗線作爲字符串=沒有 對於每個條目作爲ListViewItem.ListViewSubItem在item.SubItems line.Append(入門& 「:」) 接下來 sw.WriteLine(線) 接下來 sw.Close() 結束使用 ,但我得到了行錯誤。附加。 錯誤\t \t 1「追加」不是沒有爲類型「System.Windows.Forms.ListViewItem.ListViewSubItem」定義的「字符串」 101 錯誤\t \t 2運算符「&」的成員,並且「String'.101 我應該爲變量線做出什麼改變? – kks21199

+0

您應該進行的更改是閱讀我發佈的內容並按照提供的說明進行操作。我特別說明你從子項目的Text屬性中得到一個字符串。你在那個代碼裏做什麼? – jmcilhinney

+0

感謝您的幫助。我juz使用相反的方法將文本保存到文件並更新列表視圖。 – kks21199