如何读取列表视图中的列单元格
How to read a column cell in Listview
我尝试读取列表视图中给定列的整行
由于我是 C# 的新手并且使用了 listview,我发现它不能像 List
下面是我使用的代码(我在一些网站上找到的解决方案)
for (int i = 0; i < rapview.Items.Count; ++i)
{
int idx = 0;
foreach (ColumnHeader header in rapview.Columns)
{
if (header.Text == "Bak. €")
{
MyArray[0] = GeneralMethod.GetClientName(conn, rapview.Items[1].Text);
di = new ListViewItem(MyArray);
tmpView.Items.Add(di);
}
++idx;
}
}
我想检索第 1 列第 7 列单元格,但我看到 rapview.Items[1]。第 7 单元格的文本为空且类似。
要么是我遗漏了什么,要么是给出的解决方案不正确。
如何读取这些单元格的值。如果可能,绕过 foreach 循环使用列号?
这是一个将第 7 列中的每个值复制到字符串列表的循环。
如果行中没有第 7 列,它会添加一个空字符串。
int column = 6;
List<string> values = new List<string>();
foreach (ListViewItem lvi in rapview.Items)
if (lvi.SubItems.Count - 1 < column) values.Add("");
else values.Add(lvi.SubItems[column].Text);
请注意,C# 从零开始计数,因此第 7 列的索引为 6。
您可以将第 1 行第 7 列中的值测试为:
Console.WriteLine("Cell 7 in row 1 contains:" + values[0]);
请注意,ListView
中的每个 Item
都可以有自己的 SubItems
。因此,我们必须在访问它之前对其进行测试!
另请注意 SubItem[0]
与 Item
!
具有相同的 value/text
我尝试读取列表视图中给定列的整行
由于我是 C# 的新手并且使用了 listview,我发现它不能像 List
下面是我使用的代码(我在一些网站上找到的解决方案)
for (int i = 0; i < rapview.Items.Count; ++i)
{
int idx = 0;
foreach (ColumnHeader header in rapview.Columns)
{
if (header.Text == "Bak. €")
{
MyArray[0] = GeneralMethod.GetClientName(conn, rapview.Items[1].Text);
di = new ListViewItem(MyArray);
tmpView.Items.Add(di);
}
++idx;
}
}
我想检索第 1 列第 7 列单元格,但我看到 rapview.Items[1]。第 7 单元格的文本为空且类似。
要么是我遗漏了什么,要么是给出的解决方案不正确。
如何读取这些单元格的值。如果可能,绕过 foreach 循环使用列号?
这是一个将第 7 列中的每个值复制到字符串列表的循环。
如果行中没有第 7 列,它会添加一个空字符串。
int column = 6;
List<string> values = new List<string>();
foreach (ListViewItem lvi in rapview.Items)
if (lvi.SubItems.Count - 1 < column) values.Add("");
else values.Add(lvi.SubItems[column].Text);
请注意,C# 从零开始计数,因此第 7 列的索引为 6。
您可以将第 1 行第 7 列中的值测试为:
Console.WriteLine("Cell 7 in row 1 contains:" + values[0]);
请注意,ListView
中的每个 Item
都可以有自己的 SubItems
。因此,我们必须在访问它之前对其进行测试!
另请注意 SubItem[0]
与 Item
!