Linq to sql 使用Linq to Sql在空GridView上显示页眉和页脚

Linq to sql 使用Linq to Sql在空GridView上显示页眉和页脚,linq-to-sql,gridview,footer,Linq To Sql,Gridview,Footer,我有一个用于数据输入的gridview 其背后的逻辑是用户从购物收据中逐行输入数据。查询将返回当天记录的所有项目,因此当输入第一个项目时,查询将不会返回任何行: var qPurchase = from p in db.purchases where p.purchaseDate.Date == DateTime.Now.Date select new

我有一个用于数据输入的gridview

其背后的逻辑是用户从购物收据中逐行输入数据。查询将返回当天记录的所有项目,因此当输入第一个项目时,查询将不会返回任何行:

var qPurchase = from p in db.purchases
                        where p.purchaseDate.Date == DateTime.Now.Date
                        select new
                        {
                            p.purchaseID,
                            p.product.name,
                            p.product.units,
                            p.product.priceMarked,
                            p.packCost,
                            p.product.vat,
                            p.unitSalePrice,
                            p.bestBefore 
                        };

            gvPurchases.DataSource = qPurchase;
            gvPurchases.DataBind();
没有返回数据时,如何显示页脚?环顾四周,有几个示例使用datatable,但没有基于Linq的


非常感谢您的帮助。

我认为您可以为网格视图设置EmptyDatatext值,这样会显示页脚


但是,我想你可能要考虑的是,如果网格视图中没有数据,那么QBuy应该绑定到一个空的行。因此,如果返回时没有结果,则向其中添加一个包含0或空字符串的结果,然后提示用户填写该结果。您可以通过在qPurchase中设置一个值来实现,或者在没有结果的情况下生成一行并将其添加到网格视图中

尝试了EmptyDatatext,但未获取标题。如何将空数据添加到qPurchase?需要确定对象的外观。但它应该像qPurchase.add(newpurchase())一样;如果qPurchase由于任何原因不是列表或可枚举的,那么只需将数据绑定到新的purchase()对象,并输入默认值或伪值即可。