0
我有一个ListView。我的主要目标是能够将ListViewItems复制到剪贴板,然后复制到Excel。但是我有麻烦阅读ListView单元格。从单元格获取值(ListView&ListViewItems)
得到我使用的列:
var columnNames = new StringBuilder();
foreach (GridViewColumn column in ((GridView)(listViewSolution.View)).Columns)
{
columnNames.Append(column.Header + "\t");
}
现在我想添加的行,但我只能访问第一个单元格中的第一列,而不是第二或第三..:
var stringBuilder = new StringBuilder();
for (int i = 0; i < listViewSolution.Items.Count; i++)
{
stringBuilder.Append("\n");
//foreach (GridViewColumn column in ((GridView)(listViewSolution.View)).Columns)
//{
//if (column.Header != null)
//{
ListViewItem myListBoxItem =
(ListViewItem)(listViewSolution.ItemContainerGenerator.ContainerFromIndex(0)); //= Index 0 -> First Row, First Cell; Index 1 = Second Row, First Cell; But do we get: Second Column, First Row????
stringBuilder.Append(myListBoxItem.Content.ToString() + "\t");
//}
//}
}
System.Windows.Clipboard.SetData(DataFormats.Text, columnNames.ToString() + stringBuilder.ToString());
帮助会非常感激..
当然,我已经尝试过了。看看背后的注释:'.ContainerFromIndex',用下一个索引(1),我切换到下一行,但不切换到下一个单元格第一行,我需要先从第一行获取所有数据,然后再增加下一行的索引。 – eMi