C# Write listView to txt?
本文关键字:txt to listView Write | 更新日期: 2023-09-27 18:11:58
我有写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);
}
}
}
我需要写第一列,而不是所有列到我的文本,如何改变这一点?
ListViewItem
包含许多子项,您可以从item
变量访问这些子项。
item.SubItems[0].Text;
这将只获得第一列。还可以将列名指定为字符串
这就是我想出来的。这对我很有效。它看起来很长,因为注释和新添加的行,所以它在文本文件中看起来很好,当它被保存。
// 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);
}
}
Iamege:形式
图片:TXT File
只有代码 :----------------------------------------------------------------
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);
}
}
删除以下行:
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 Forms ListView控件可以显示额外的文本,或者子项,用于Details视图中的每个项。显示第一列项目文本,例如员工编号。第二个,第三个,还有后续列显示第一列、第二列和后续列相关的子项。