2014-03-25 41 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