我想在listview的每一行添加数字。
现在我计算一个文件夹中有多少文件,将该数字添加到字符串数组中。然后使用for循环,我将一个数字添加到此数组并添加元素到 列表视图。
代码:
int countFile = Directory.GetFiles(saveAnimePath + "\\Watching", "*.txt").Length;
string[] filesCount = new string[countFile];
int number = 0;
for (int i = 0; i < filesCount.Length; i++)
{
number = number + 1;
filesCount[i] = number.ToString();
}
foreach (var item in filesCount)
{
lvWatching.Items[0].Text = item;
}
如何为每行添加数字?
答案 0 :(得分:1)
问题在于,在最后一个foreach语句中,您只编辑ListView中的第一个项目。
而不是foreach,尝试使用for,类似的东西:
for (var i = 0; i++; i < filesCount)
{
lvWatching.Items[i].Text = filesCount[i];
}
修改强>
但我认为你的方法开销很大。 假设在列表中显示目录中的所有文件,则无需再次获取它们,获取计数,分配数字等。 您可以遍历列表项并分配正确的数字。
整个&#34;分配号码操作&#34;会是这样的:
for (var i = 0; i++; i < lvWatching.Items.Length)
{
lvWatching.Items[i].Text = i.ToString();
}
但我可能会遗漏一些东西,所以它无法在任何情况下都有效。
答案 1 :(得分:1)
您需要在lvWatching.Items[0].Text = item;
例如:
int countFile = Directory.GetFiles(saveAnimePath + "\\Watching", "*.txt").Length;
int number = 0;
for (int i = 0; i < filesCount.Length; i++)
{
number = number + 1;
lvWatching.Items[i].Text = number.ToString();
}