动态列表视图 header 文本
Dynamic listview header text
我有这段代码可以加载一堆 .txt 文件(当从组合框中选择时),并在列表视图中显示数据:
private void cmbFiles_SelectedIndexChanged(object sender, EventArgs e)
{
lvContent.Items.Clear();
lvContent.Columns.Clear();
string[] content = File.ReadAllLines(@"Credentials/" + cmbFiles.SelectedItem);
int colCount = 0;
foreach (string line in content)
{
string[] substrings = line.Split('|');
colCount = Math.Max(colCount, substrings.Count());
ListViewItem listItem1 = new ListViewItem(substrings[0]);
for (int i = 1; i < substrings.Count(); i++)
{
listItem1.SubItems.Add(new ListViewItem.ListViewSubItem(listItem1, substrings[i]));
}
lvContent.Items.Add(listItem1);
}
for (int i = 1; i <= colCount; i++)
lvContent.Columns.Add("");
lvContent.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
}
效果很好,但不显示任何列 header 文本,我不确定显示 header 文本的最佳方式,它需要根据情况随机更改文件已显示,我们将不胜感激有关最佳方法的任何提示或意见!
您应该将 ListView.View 属性 更改为详细信息。
lvContent.View = View.Details;
我有这段代码可以加载一堆 .txt 文件(当从组合框中选择时),并在列表视图中显示数据:
private void cmbFiles_SelectedIndexChanged(object sender, EventArgs e)
{
lvContent.Items.Clear();
lvContent.Columns.Clear();
string[] content = File.ReadAllLines(@"Credentials/" + cmbFiles.SelectedItem);
int colCount = 0;
foreach (string line in content)
{
string[] substrings = line.Split('|');
colCount = Math.Max(colCount, substrings.Count());
ListViewItem listItem1 = new ListViewItem(substrings[0]);
for (int i = 1; i < substrings.Count(); i++)
{
listItem1.SubItems.Add(new ListViewItem.ListViewSubItem(listItem1, substrings[i]));
}
lvContent.Items.Add(listItem1);
}
for (int i = 1; i <= colCount; i++)
lvContent.Columns.Add("");
lvContent.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
}
效果很好,但不显示任何列 header 文本,我不确定显示 header 文本的最佳方式,它需要根据情况随机更改文件已显示,我们将不胜感激有关最佳方法的任何提示或意见!
您应该将 ListView.View 属性 更改为详细信息。
lvContent.View = View.Details;