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

本文关键字:DataRow RadGridView 获取 单击 单元格 | 更新日期: 2023-09-27 18:21:24

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

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

我想如果我点击它,我会得到单元格值。但a的输出是System.Data.DataRow,用于我在表上点击的所有单元格。我究竟是如何获得DataRow值的?

edit:单击任意单元格后,如何获取所有行值?

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

您需要将其强制转换为DataRow,然后才能使用它的方法,例如Field:

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

这假设有一个列Name,但我相信你会理解的

如果您想输出所有列值(例如用于调试目的),可以使用:

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

使用select()方法

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