3

对于此示例,我的计算机生成自动列,但在其他计算机中,如果 source 是 Queryable 或 Enumrable ,则不会生成列。

有什么不同

   public MainWindow()
    {
        InitializeComponent();
        dg.DataContext = GetPaople();
    }

    public object GetPaople()
    {
        List<Person> list = new List<Person>();
        for (int i = 0; i < 15; i++)
        {
            list.Add(new Person() { FirstName = "F" +  i, LastName = "L" + i, Id = i });
        }
        var res = from p in list select p;
        return res.AsQueryable();//not Genrating Columns
        return list;//Genrating Columns
    }
4

1 回答 1

1

我不认为 WPF DataGrid 与 IQueryable 集合配合得很好。而不是res.AsQueryable(),尝试res.ToList()

通过使用 ToList(),您可以强制对查询进行评估,并将结果转储到一个列表中,在这种情况下,该列表将是强类型的,并且可以由 DataGrid 检查以生成列。

于 2012-06-28T22:26:33.280 回答