我有写listView到txt的问题,我的代码将所有列(第一和第二)写入txt。 我有这段代码:
using (StreamWriter sw = new StreamWriter("databaseEN.txt"))
{
foreach (ListViewItem item in listView1.Items)
{
sw.WriteLine(item.Text);
for (int i = 1; i < item.SubItems.Count; i++)
{
sw.WriteLine(item.SubItems[i].Text);
}
}
}
我需要写第一列而不是所有列到我的txt,如何更改?
答案 0 :(得分:1)
答案 1 :(得分:0)
这是我想出的。这个对我有用。由于使用了注释和新行,因此看起来很长,因此保存后在文本文件中看起来不错。
// Save File Button
private void save_button_Click(object sender, EventArgs e)
{
System.IO.File.AppendAllText(@"C:\bbbb.txt", Environment.NewLine + Environment.NewLine);
// Columns NAMES
for (int c = 0; c < timeTable_listView.Columns.Count; c++)
{
System.IO.File.AppendAllText(@"C:\bbbb.txt", timeTable_listView.Columns[c].Text+"\t");
}
// Add new Line int the txt file
System.IO.File.AppendAllText(@"C:\bbbb.txt", Environment.NewLine + Environment.NewLine);
// Get all Items "loop All items"
for (int i = 0; i < timeTable_listView.Items.Count; i++)
{
// Loop all Sub Items of the Current Item "[i]"
for (int a = 0; a < timeTable_listView.Items[i].SubItems.Count; a++)
{
// Write the sub item "[a]" to the file with "tab betwen each item"
System.IO.File.AppendAllText(@"C:\bbbb.txt", timeTable_listView.Items[i].SubItems[a].Text + "\t");
}
// Add new Line "the new Row" starts at new line
System.IO.File.AppendAllText(@"C:\bbbb.txt", Environment.NewLine);
}
}
仅代码:-------------------------------------------- --------------------
private void save_button_Click(object sender, EventArgs e)
{
System.IO.File.AppendAllText(@"C:\bbbb.txt", Environment.NewLine + Environment.NewLine);
for (int c = 0; c < timeTable_listView.Columns.Count; c++)
{
System.IO.File.AppendAllText(@"C:\bbbb.txt", timeTable_listView.Columns[c].Text+"\t");
}
System.IO.File.AppendAllText(@"C:\bbbb.txt", Environment.NewLine + Environment.NewLine);
for (int i = 0; i < timeTable_listView.Items.Count; i++)
{
for (int a = 0; a < timeTable_listView.Items[i].SubItems.Count; a++)
{
System.IO.File.AppendAllText(@"C:\bbbb.txt", timeTable_listView.Items[i].SubItems[a].Text + "\t");
}
System.IO.File.AppendAllText(@"C:\bbbb.txt", Environment.NewLine);
}
}
答案 2 :(得分:-1)
删除以下行:
for (int i = 1; i < item.SubItems.Count; i++)
{
sw.WriteLine(item.SubItems[i].Text);
}
编辑:从这里提取http://msdn.microsoft.com/en-us/library/aa983553(v=vs.71).aspx
Windows窗体ListView控件可以显示其他文本,或 子视图,用于“详细信息”视图中的每个项目。 显示第一列 项目文本,例如员工编号。第二,第三,和 后续列显示第一个,第二个和后续 相关的子项目。