如果视图的数据源是IQueryable,我可以在视图上使用GetDataRow()吗?

时间:2011-04-12 17:04:35

标签: c# linq linq-to-sql drag-and-drop devexpress

我正在表单中实现拖放功能,我遇到了需要GetDataRow的情况,但视图已经绑定到IQueryable,因此:

    private void stackOverFlow()
    {
        Func<int, IQueryable> query = i =>
                                      from p in _data.PERSON
                                      where p.FavoriteNumber == i
                                      select p;

        gc1.DataSource = query(17);

        var row = ((GridView) gc1.DefaultView).GetDataRow(0);
    }

由于绑定的性质,该行始终为空...任何帮助都将受到高度赞赏。

由于

2 个答案:

答案 0 :(得分:1)

这应该有效:

gc1.DataSource = query(17).ToList();

检查this answer

答案 1 :(得分:1)

GetDataRow()方法旨在返回DataRow对象。当GridContol绑定到DataView或DataTable对象时,可以使用此方法。在你的情况下,我建议你使用View的GetRow()方法,它会在你的情况下返回一个PERSON对象。