当此对象是Entity Framework对象时,如何从数据网格中的对象获取信息?

时间:2019-05-24 18:02:58

标签: c# wpf entity-framework datagrid

我想获取所选单元格的值作为字符串。但是我不能选择它作为实体框架对象。

我尝试使用不是来自Entity Framework的对象列表来做到这一点,并且效果很好:

public MainWindow()
{
        InitializeComponent();

        using (SellEntities Context = new SellEntities())
        {
            var query = from t in Context.Categories
                        orderby t.Id
                        select new
                        {
                            t.Id,
                            CategoryName = t.Name
                        };
            CategoriesDataGridVeiw.ItemsSource = query.ToList();
        }
}

private void CategoriesDataGridVeiw_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
        var rows = CategoriesDataGridVeiw.SelectedItem as Category;

        if (rows != null)
        {
            MessageBox.Show(rows.Name);
        }
        else
            MessageBox.Show("Null");

        CategoriesDataGridVeiw.UnselectAll();
}

1 个答案:

答案 0 :(得分:0)

问题是datagrid包含查询对象,并且我在datagrid中选择Items作为类别。 解决方案是确保datagrid.ItemsSource等于您以后要投射的对象。

CategoriesDataGridVeiw.ItemsSource = Context.Categories.ToList();

现在我可以使用:

CategoriesDataGridVeiw.SelectedItem as Category

谢谢https://stackoverflow.com/users/861716/gert-arnold。 你让我以正确的方式思考它。