所以我有一个填充了一些值的数据网格。我有一些选定的单元格,我需要的是获取每个单元格的列和行标题。
我已经找到了如何轻松获取列标题,但是第一行不想这么容易找到我......
我获取值的代码:
string[,] matrix = new string[2, 4];
^ 我最多有 4 个选定的单元格 - 我想将它们的标题(行 + 列)的值保留为字符串。
IList<DataGridCellInfo> theChosenOnes = mydatagrid.SelectedCells;
int c = 0;
foreach (DataGridCellInfo cell in theChosenOnes)
{
matrix[1,c] = cell.Column.Header.ToString();
^ 这给了我我想要的 - 此单元格的列标题包含的字符串
matrix[0,c] = cell.Item.ToString();
^ 这给了我 - “System.Data.DataRowView”
c++;
}
此外,我应该添加我正在使用的信息SelectionMode="Extended"
+ SelectionUnit="Cell"
+ 我的数据网格既有行标题又有列标题 - 需要这些值。
我正在查看文档: http: //msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.selectedcells.aspx和这里:http: //msdn.microsoft.com/en-us /library/system.windows.controls.datagridcellinfo.aspx但它说我可以从那里得到一个 Row 但 Visual Studio 不允许我这样做(尝试过类似的东西matrix[0,c] = cell.Row.Header.ToString();
:)
还检查了http://msdn.microsoft.com/en-us/library/system.data.datarowview.aspx .. 并尝试使用这些属性,但它不起作用。
我究竟做错了什么?谢谢你的帮助。
编辑:我用我在这里找到的东西“升级”了代码,但它仍然没有给我想要的东西:|
matrix[0, c] = ((DataRowView)cell.Item).Row.ToString();
^ 现在我可以获取行(作为“System.Data.DataRow”).. 但是为什么我不能获取行标题?