我在ListView
中有2列。我的“C:\ file.txt”如下所示:
1;aaa
2;bbb
3;ccc
4;ddd
等等。 (每个数字和文本在单独的行中) 我的代码:
FileStream spis = File.Open("C:\\file.txt", FileMode.Open, FileAccess.Read);
StreamReader yaRead = new StreamReader(spis);
string yaView = yaRead.ReadToEnd();
yaRead.Close();
spis.Close();
String[] yaArray = yaView.Split(new char[] {';'});
foreach (string ya in yaArray)
{
listView1.Items.Add(ya);
}
结果
1
aaa
bbb
(...)
...在第一列中,第二列中没有任何内容。请帮我解决。
答案 0 :(得分:2)
您可以通过ListViewItem。
的SubItems属性将列添加到列表视图中最简单的方法是执行以下操作:
ListViewItem newItem = new ListViewItem("1");
newItem.SubItems.Add("aaa");
listView1.Items.Add(newItem);
如果我们举例,我们可以简单地做以下事情:
string[] yaArray = yaView.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
这将为您提供一个如下所示的数组:
[1;aaa]
[2;bbb]
[3;ccc]
[4;ddd]
我们根据新行而不是分号进行拆分。
然后只需执行以下操作:
foreach(string lineItem in yaArray)
{
string[] listViewRow = lineItem.Split(new string[] { ";" }, StringSplitOptions.None); //Now we split on the semi colon to give us each item
ListViewItem newItem = new ListViewItem(listViewRow[0]);
newItem.SubItems.Add(listViewRow[1];
listView1.Items.Add(newItem);
}
那可以给你你想要的东西。
答案 1 :(得分:0)
请将SUBitems添加到列表
foreach(var line in File.ReadAllLines(@"C:\file.txt"))
{
listView1.Items.Add(line.Split(';'));
}