GridView不显示Linq到Object Result

时间:2012-03-27 11:57:44

标签: c# linq

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

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

但是gridview没有显示任何内容

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

4 个答案:

答案 0 :(得分:2)

  1. objselect应该有一些属性(不是字段)
  2. dgv.AutoGenerateColumns应该是true,或者您应该定义一些列
  3. 您可能需要List<>dgv.DataSource = (from .. select objselect).ToList();
  4. 使用BindingSource作为dgv和List之间的中间人并不是一个坏主意。

答案 1 :(得分:1)

可能通过将查询更改为

来强制执行查询
dgv.DataSource = (from objselect in Utility.ListXElementToDeclaration(query)
                  select objselect).ToList();

答案 2 :(得分:1)

DataTable dt =  from objselect in Utility.ListXElementToDeclaration(query)
                        select objselect;

dgv.DataSource = dt;
dgv.DataBind();

答案 3 :(得分:0)

为什么不尝试通过执行类似的操作来查看是否在返回的对象中有结果。

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();