从单击的单元格中获取 DataRow 值 (RadGridView)

Getting DataRow value from cell clicked (RadGridView)

所以我尝试从我的 RadGridView 中获取行值并像这样使用 SelectionChanged

private void dataGrid_SelectionChanged(object sender, SelectionChangeEventArgs e)
{
    var a = dataGrid.SelectedItem.ToString();
    MessageBox.Show(a);
}

我想如果我点击它我会得到单元格值。但是 a 的输出是 System.Data.DataRow 我点击 table 的所有内容(单元格)。我究竟如何获得 DataRow 值?

编辑:单击任何单元格后如何获取所有行值?

使用select()方法

DataRow[] foundRows = YourDataTable.Select(searchExpression);

您需要将它转换为 DataRow,然后您可以使用它的方法 f.e。 Field:

private void dataGrid_SelectionChanged(object sender, SelectionChangeEventArgs e)
{
    DataRow row = (DataRow) dataGrid.SelectedItem;
    string name = row.Field<string>("Name"); 
    MessageBox.Show(name);
}

这里假定有一列 Name,但我相信您会理解的。

如果你想输出所有列值(f.e。为了调试目的)你可以使用:

string allValues = String.Join(", ", row.ItemArray);