C# datagridview绑定集合,怎样点击列标题使之排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# datagridview绑定集合,怎样点击列标题使之排序相关的知识,希望对你有一定的参考价值。

C# datagridview绑定集合,怎样点击列标题使之排序

将 SortMode 属性设置为 Automatic 会使用户能够对该列排序,但是通常都是默认可以排序的啊,你的不行么? 参考技术A Winows forms 的datagridview是自动可以点击排序的 参考技术B 标题能用控件吗·如果可以的话·
生成点击事件进行排序
参考技术C web的还是win的,win的是自动的,web的需要单独写代码

C# datagridview列绑定类中类的属性

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://www.cnblogs.com/linghaoxinpian/p/5906374.html 
 

datagridview编辑列时,对于类中类的属性绑定,尝试了一下”类名.属性名“ 并没有正确绑定,后又尝试了几次无果,只能利用Linq来解决了,

首先,datagridview要绑定的是学生类(Student),而学生类里有老师类(Teacher)

 1 public class Student
 2 {
 3      public int Id;
 4       public Teacher teacher;    
 5 }    
 6 
 7 public class Teacher
 8 {
 9      public string Name;
10 }

 

正常是这样:datagridview.Datasource=List<Student>;  但是无法将列绑定 teacher.Name  

 

 1 //
 2 List<Student> list=从某处得来的数据,比如数据库
 3 
 4 // datagridview.DataSource=list  ;    此句改为如下
 5 
 6 var list2=list.Select(s=>new {s.Id,    teacher_name=s.teacher.Name});    //转为匿名
 7 
 8    datagridview.DataSource=list2.ToList();
 9    
10   

 

最后再将 需要绑定的那一列的绑定 名称写为:teacher_name 。即可

  

 

为什要最后  ToList()?,因为,list2是 IEnumerable,是不能直接被datagridview绑定。

 

以上是关于C# datagridview绑定集合,怎样点击列标题使之排序的主要内容,如果未能解决你的问题,请参考以下文章

C# 控制datagridview的combox属性的列绑定数据

如何用c#对datagridview刷新, 是否重新绑定一下, 怎样重新绑定。

C# datagridview列绑定类中类的属性

C# 将 DataTable 绑定到现有 DataGridView 列定义

C# datagridview 怎样动态设置列宽的值

C# winform程序中如何向datagridview中添加一行