Datagrid无法将列从linq渲染到sql

时间:2018-09-24 08:40:47

标签: c# linq-to-sql datagrid northwind

我正在使用Northwind数据库,并尝试使用linq将产品表返回给sql。下面粘贴了我的代码。

protected void Page_Load(object sender, EventArgs e)
        {
            DemoDataContext dbContext = new DemoDataContext();
            var lyncQuery = from product in dbContext.Products
                            where product.CategoryID == 2
                            orderby product.UnitPrice descending
                            select product;
            ProductDataGrid.DataSource = lyncQuery;
            Response.Write(lyncQuery.ToString());
            ProductDataGrid.DataBind();
        }
    }

我验证了lyncquery通过打印response.write返回所有列,当我也调试时,我在lyncquery中看到了所有列的值,但是当我将它与datagrid绑定时,我只看到了productid,productname,已停产,quantityperunit如下。

enter image description here

即使我尝试在select子句中使用以下方法返回特定的列, 选择新的{product.ProductID,product.ProductName,product.CategoryID,product.SupplierID,product.Discontinued,product.UnitPrice,product.QuantityPerUnit};

但是我仍然只看到那4列

任何线索都可以帮助我解决这个问题。预先感谢

2 个答案:

答案 0 :(得分:0)

是在GRIDVIEW中自动生成列,还是指定了要在gridview中显示的列。 您可能只显示这4列。 您能否也添加您的HTML页面代码。

答案 1 :(得分:0)

我认为您必须将这些数据放入DataTable中,然后将其提供给gridView源,然后它才能工作。