Asp.net Linq到SQL在Select查询中隐藏空列

Asp.net Linq到SQL在Select查询中隐藏空列,asp.net,linq,linq-to-sql,detailsview,Asp.net,Linq,Linq To Sql,Detailsview,我有以下linq到sql查询,我正在绑定到detailsview var ShippingChallan = (from sc in db.ShippingChallanViewSeconds where sc.challan_id == Convert.ToDecimal(txtChallanNo.Text) && sc.SecondWeight != null && sc.T

我有以下linq到sql查询,我正在绑定到detailsview

            var ShippingChallan = (from sc in db.ShippingChallanViewSeconds
                               where sc.challan_id == Convert.ToDecimal(txtChallanNo.Text) && sc.SecondWeight != null && sc.Type == "LBO"
                               select new { 
                                   sc.challan_id,
                                   sc.bowzer_no,
                                   sc.FirstWeight,
                                   sc.SecondWeight,
                                   sc.netWeight,
                                   sc.Product_Name,
                                   sc.FLD,
                                   sc.Customer_Name,
                                   sc.dip1,
                                   sc.Cmpt_Capacity1,
                                   sc.dip2,
                                   sc.Cmpt_Capacity2,
                                   sc.dip3,
                                   sc.Cmpt_Capacity3,
                                   sc.dip4,
                                   sc.Cmpt_Capacity4,
                                   sc.dip5,
                                   sc.Cmpt_Capacity5
                               }).FirstOrDefault();
在99%的行中,sc.dip4和sc.dip5为空

如果这些属性为空,我不想向用户显示它们


我该怎么做???有什么想法吗?

好的,我自己知道了:这是我的想法

DV_ChallanDetails.AutoGenerateRows = false; 
BoundField bow = new BoundField();
bow.DataField = "bowzer_no"; 
bow.HeaderText = "Bowzer No"; 
DV_ChallanDetails.Fields.Add(bow); 
我对每个字段都这样做,如果任何字段为空,只需将其visible属性设置为false


谢谢

我本以为应该由detailsview隐藏空值,而不是由linq查询不返回空值……在detailsview中,您可以告诉它不要自动生成字段,然后显式添加所需的字段。讨论了fields属性和autogeneration。Chris,autogenerateRows属性为false。我在这里做的是执行linq查询,无论出现什么结果,我都将其绑定到detailsview。dv1.DataSource=new[]{ShippingChallan};数据绑定。一个简单的操作。我想在任何事件(如DataBound事件)期间检查任何空值,如果找到,将其visible属性设置为false。好吧,我自己弄到的,当然是在你的指导下:这是我想出的DV_ChallanDetails.AutoGenerateRows=false;BoundField bow=新的BoundField;bow.DataField=bowzer\u编号;bow.HeaderText=波泽编号;DV_ChallanDetails.Fields.Addbow;我对每个字段都这样做,如果任何字段是空的,就不显示它。。谢谢