我试图找出如何读取我的WPF datagrid单元格的值。
的内容
String myString = myDataGrid.Cells[1][2].ToString();
已在XAML中创建了datagrid,并使用
在数据网格中填充了行数据reportGrid.Items.Add(new cbResultRow() { ... });
现在我想回去读取数据网格中的单元格值。
我看过一些从选定行或单元格中读取数据的示例,我没有任何选择(用户不与数据网格交互)。
我也见过像
这样的代码foreach(DataGridRow myrow in myDataGrid.Rows)
然而编译器说Rows不是datagrid的成员。
我已经搜索了几个小时,试图找出如何做我认为非常简单的事情!
请帮忙,
谢谢, 将
答案 0 :(得分:2)
WPF数据网格构建为绑定到类似DataTable的东西。大多数情况下,您将修改DataTable以及绑定到DataGrid的DataTable中的行/列。
DataGrid本身是DataTable的可视元素。 Here is a pretty good tutorial on how to do this。修改循环中的数据看起来像这样。
foreach(DataRow row in myTable.Rows)
{
row["ColumnTitle"] = 1;
}
这只会使Column“ColumnTitle”中的所有值都等于1.要访问单个单元格,它将看起来像这样。
myTable.Rows[0][0] = 1;
这会将DataTable中的第一个单元格设置为1。
答案 1 :(得分:2)
这可能有助于其他人。
foreach (DataRowView row in dgLista.SelectedItems)
{
string text = row.Row.ItemArray[index].ToString();
}
祝你好运!
答案 2 :(得分:0)
以下是解决方案的摘要。
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();
}