C# 如何从WPF数据网格中读取单元格中的值?
如何从WPF数据网格读取单元格值 我在线搜索并尝试任何可能的组合,但没有任何效果: Datagrid.Cells[…],Datagrid.Items.Cells[…],Datagrid.Rows..,Datagrid.Items.Row。。 什么都不管用,我找不到它是MSDN或者我不理解它。我只需要从DataGrid中的单元格中读取一个值就可以了 怎么做?检查这个C# 如何从WPF数据网格中读取单元格中的值?,c#,wpf,datagrid,C#,Wpf,Datagrid,如何从WPF数据网格读取单元格值 我在线搜索并尝试任何可能的组合,但没有任何效果: Datagrid.Cells[…],Datagrid.Items.Cells[…],Datagrid.Rows..,Datagrid.Items.Row。。 什么都不管用,我找不到它是MSDN或者我不理解它。我只需要从DataGrid中的单元格中读取一个值就可以了 怎么做?检查这个 这可能会帮助其他人 foreach (DataRowView row in dgLista.SelectedItems) {
这可能会帮助其他人
foreach (DataRowView row in dgLista.SelectedItems)
{
string text = row.Row.ItemArray[index].ToString();
}
祝你好运 以下几点帮助了我:
Private Sub dgNames_MouseDoubleClick(sender As Object, e As MouseButtonEventArgs) Handles dgNames.MouseDoubleClick
Dim strCellContent as String = MessageBox.Show(TryCast(e.OriginalSource, TextBlock).Text)
End Sub
下面是解决方案的摘要 Winform 类型:System.windows.Forms.DataGridView
// C#
foreach (DataGridViewRow row in dataGridView1.Rows)
{
//"Column1" = column name in DataGridView
string text = row.Cells["Column1"].value.ToString();
}
WPF当量
类型:DataGrid
// C#
foreach (DataRowView row in dataGrid.Items)
{
string text = row.Row.ItemArray[index].ToString();
}
对于wpf使用:
DataRowView item = dataGrid.Items[rowIndex] as DataRowView;
Console.WriteLine(item.Row.ItemArray[columIndex]);
从你的答案看来,我必须编写一个helper函数来从数据网格中获取一个单元格值。我的DataGrid中有数百行和多列。要获得所有值,我必须循环所有行,并多次运行helper函数。有没有更快的方法?@KMC这取决于你想做什么。你为什么要循环所有单元格并获取单元格中的数据?您可以简单地将数据绑定到代码隐藏或viewmodel,然后循环您的集合。我必须在DataGrid中选择大量单元格,并将其输出到Excel工作表。这就是为什么我在寻找一种更直观的方法。我将改写我的问题并发布一个新问题。@biju-请编辑此答案,以便在不遵循链接的情况下理解,这样我们就不会受到链接腐化的影响。@KMC不需要任何帮助。学习XAML,使用数据绑定。用XAML在c中做这些事情总是一团糟——你在与框架作斗争。他在帮你用错误的方法,但这仍然是错误的方法。