分类

链接

2011 年 11 月
 123456
78910111213
14151617181920
21222324252627
282930  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > .NET > 正文
共享办公室出租
DataGridView数据绑定的几种方法
.NET 暂无评论 阅读(4,368)

在WINFORM编程中,数据绑定是最普通的一个问题了,本文将要提到的是在使用LINQ+泛型作为数据源时,数据绑定遇到的问题。

由于LINQ是把表的结构映射到实体对像数据结构,数据源如果不处理,将会是整个表的数据集合,因此,在数据绑定的时候,效率将是一个很重要的问题。

问题:

如果一个DataGridView在进行绑定数据时,是多表连接查询的结果,LINQ绑定方法有以下几种:

 

  1.  
  2. 方法一: 
  3. public IQueryable getlist()  {   
  4.          var query=  from s in stuList  
  5.                join c in classList on s.cid equels c.id 
  6. select new {s.sid,s.sname,c.cname}; 
  7.             return query; 
  8.   }
  9.  
  10. public void DgvListBind()
  11. {   
  12.        var query= getlist();
  13.         DataGridView.Datasource=query.ToList();
  14. }
  15.  
  16. 方法二:
  17.  
  18. public List<Students> GetStudentList()
  19. { 
  20.     return db.Student.List();
  21. }
  22.  
  23. public List<Classes> GetClassList()
  24. {
  25.      return db.Class.List();
  26. }
  27.  
  28. public void DgvListBind()
  29. {
  30.         List<Students> stuList=GetStudentList();
  31.         List<Classes> classList=GetClassList();
  32.         var query= from s in stuList  
  33.       join c in classList on s.cid equels c.id 
  34.                    select new {s.sid,s.sname,c.cname}; 
  35.  
  36.         DataGridView.Datasource=query.ToList();
  37. }
  38. 方法三: 
  39. public List<Students> GetStudentList()
  40. { 
  41.     return db.Student.List();
  42. }
  43.  
  44.  
  45. public List<Classes> GetClassList()
  46. {
  47.      return db.Class.List();
  48. }
  49.  
  50.  
  51. public void DgvListBind()
  52. { 
  53.        List<Students> stuList=GetStudentList(); 
  54.        List<Classes> classList=GetClassList();    
  55.  
  56.         foreach(Students s in stuList)
  57.         {               
  58.              object [] row ={ 
  59.                           s.sid,
  60.         s.sname,
  61.            classList.FirstOrDefault(p=>p.id==s.cid).cname
  62.                }; 
  63.               datagridview.Rows.Add(row);
  64.         }
  65. }
  66.  
  datagridview绑定效率:
http://blog.peos.cn/2011/11/01/datagridview%e4%b8%addatasource%e6%95%b0%e6%8d%ae%e7
%bb%91%e5%ae%9a%e5%8e%9f%e7%90%86%ef%bc%8c%e5%8f%8a%e4%b8%8erows-add%e6%b7%bb%e
5%8a%a0%e6%95%88%e7%8e%87.html

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:DataGridView数据绑定的几种方法 | Bruce's Blog

发表评论

留言无头像?