GridView没有';t显示Linq to Object Result

本文关键字:Linq to Object Result 显示 没有 GridView | 更新日期: 2023-09-27 18:29:19

我将XElement发送到我的方法,以将其转换为对象

并将其结果分配给DataGrid源(方法返回832对象)

但是gridview没有显示任何东西

dgv.DataSource = from objselect in Utility.ListXElementToDeclaration(query)
                        select objselect;

GridView没有';t显示Linq to Object Result

  1. objselect应该有一些属性(而不是字段)
  2. dgv.AutoGenerateColumns应该是true,或者应该定义一些列
  3. 您可能需要List<>:dgv.DataSource = (from .. select objselect).ToList();

使用BindingSource作为dgv和List之间的中间人也不错。

也许可以通过将查询更改为来强制执行查询

dgv.DataSource = (from objselect in Utility.ListXElementToDeclaration(query)
                  select objselect).ToList();
DataTable dt =  from objselect in Utility.ListXElementToDeclaration(query)
                        select objselect;
dgv.DataSource = dt;
dgv.DataBind();

为什么不试着看看这样做返回的对象中是否有结果。

var x = from objselect in Utility.ListXElementToDeclaration(query) 
                    select objselect;

然后检查x看看里面是什么。可能没有返回任何内容,或者linq语句有问题。我有时会将linq查询的结果转换为List,也是这样。

var x = (from objselect in Utility.ListXElementToDeclaration(query) 
                    select objselect).ToList();