如何在Flexgrid中停止自动生成列

时间:2011-03-31 13:28:09

标签: c# .net sql winforms visual-studio

在我的应用程序中使用组件flexgrid工具来使用Linq从我的sql server绑定大量数据,但是网格显示了我的实体列表中的所有列,而不是我为flexgrid初始化的列。 我只需要三个coloumns from itemname,PartNo,Itemcode , * Thease coloums仅初始化* 但是展示了我不想要的所有Coloums

  List NewList = new List();
  Itlist = objItemMgmt.GetItms(Convert.ToString(gvPurchaseEntry1.Cols[d].Index.ToString()));//d is ["ItemCode"]
 gvPurcahseItems1.DataSource = Itlist;
 gvPurcahseItems1.Focus();

这是我的实体数据列表

  public List GetItms(string itemName)
        {
            var reslt = (from itm in context.ItemMasters
                         join mm in context.MultiMasters
                          on itm.ItemId equals mm.ItemId
                          join gt in context.GoodsDetails 
                          on itm.GoodsId equals gt.GoodsId 
                         join mu in context.Multiunits
                          on mm.MultiunitId equals mu.MultiunitId
                         join u in context.UnitDetails
                          on mu.UnitId equals u.UnitId
                         join s in context.StockDetails
                          on itm.ItemId equals s.ItemId
                         where (itemName == null || itm.ItemName.Contains(itemName)) ||
                               (itemName == null || itm.PartNo.Contains(itemName)) ||
                               (itemName == null || itm.ItemCode.Contains(itemName)) ||
                               //(itemName == null || itm.ArabicDescription.Contains(itemName)) ||
                               (itemName == null || (itm.GoodsDetail.GoodsType + " " + itm.GoodsDetail.GroupCatagory).Contains(itemName)
                               && (itm.StatusId != 3))
                               && (itm.StatusId != 3)
                        //where ((itemName == null) || itm.ItemName.Contains(itemName)
                        //|| itm.ItemCode.Contains(itemName) || itm.OEMNo.Contains(itemName)
                        //|| (itm.GoodsDetail.GoodsType + " " + itm.GoodsDetail.GroupCatagory).Contains(itemName) || itm.PartNo.Contains(itemName))
                        //&& itm.StatusId != 3
                         select new Entity.ItemMasterProp
                         {
                             Id = (int)itm.ItemId,
                             PartNo=(string)itm.PartNo,
                             ItemCode = (string)itm.ItemCode,
                             ItemName = (string)itm.ItemName,
                             Stock = (double)s.AvailableStock,
                             WPrice = (decimal)mm.WPrice,
                             RPrice = (decimal)mm.RetPrice,
                             value = (decimal)mm.Value,
                             UnitId = (int)u.UnitId,
                             UnitName = (string)u.UnitName,
                             UnitCode = (string)u.UnitCode,
                             MultiUnitId = (int)mu.MultiunitId,
                             MultiUnitName = (string)mu.MultiName,
                             MultiUnitCode = (string)mu.MultiCode,
                             GoodTyp=(string)gt.GoodsType + " " + (string)gt.GroupCatagory,
                             GoodId = (int)gt.GoodsId
                             //GoodCatogory = (string)gt.GroupCatagory

                         }).Distinct().ToList();

            var reslt1 =   (from itm in context.ItemMasters
                            join u1 in context.UnitDetails
                            on itm.UnitId equals u1.UnitId
                            join gt in context.GoodsDetails
                            on itm.GoodsId equals gt.GoodsId 
                            join s in context.StockDetails
                            on itm.ItemId equals s.ItemId
                            where (itemName == null || itm.ItemName.Contains(itemName)) ||
                             (itemName == null || itm.PartNo.Contains(itemName)) ||
                            (itemName == null) || itm.ItemCode.Contains(itemName)
                            || (itemName == null || (itm.GoodsDetail.GoodsType + " " + itm.GoodsDetail.GroupCatagory).Contains(itemName) 
                            && (itm.StatusId != 3))
                             select new Entity.ItemMasterProp
                            {
                              Id = (int)itm.ItemId,
                              PartNo = (string)itm.PartNo,
                              ItemCode = (string)itm.ItemCode,
                              ItemName = (string)itm.ItemName,
                              Stock = (double)s.AvailableStock,
                              UnitId = (int)u1.UnitId,
                              UnitName = (string)u1.UnitName,
                              WPrice = (decimal)itm.WPrice,
                              RPrice = (decimal)itm.RPrice,
                              MultiUnitName = (string)u1.UnitName,
                              value = (decimal)1,
                              GoodTyp = (string)gt.GoodsType + " " + (string)gt.GroupCatagory,
                              GoodId=(int)gt.GoodsId,
                               //GoodCatogory = (string)gt.GroupCatagory
                            }).Distinct().ToList();
           reslt = reslt.Concat(reslt1).Distinct().ToList();
            return reslt;
        }

我只需要三个颜色来自itemname,PartNo,Itemcode , * Thease coloums仅初始化* 但是显示我不想要的所有Coloums

提前致谢