datagridview绑定List<T>不显示数据

我的后台有一个实体类,没有构造方法,通过查询返回该实体类的List<User> , 调试程序的时候,数据已经绑定到LIST中了,我在前台定义一个绑定方法,用datagridview.dataSorce = lists ; 然后在窗体的加载事件Load中调用了这个绑定方法,但是datagridview不显示数据,datagridview没有databind方法。大虾们能给个详细的绑定List<T>的方法吗? 或者说下思路。。谢谢了

不要用list<>绑定数据,能绑定,但是不是动态更新,推荐bindinglist<>,用法一样
datagridview.datasource=new bindinglist<user>(){new user(),new user()};
、数据绑定的问题:
当DataGridView的DataSource绑定的为DataTable时,当DataTable的内容发生改变时,DataGridView中的内容会自动跟随DataTable改变而不用重新绑定数据源;

而把List<T>绑定到DataGridView则不然,当List<T>的内容发生改变是,需要先设置DataGridView的DataSource属性为new List<T>(),

然后再把作过改动的List<T>重新赋于DataGridView的DataSource。

(注:不能设置DataGridView的DataSource属性为null,否则会破坏DataGridView中已经设置好的列结构。)

2、数据绑定后的添加删除问题:

如果要对绑定在DataGridView中的List<T>进行数据的添加删除,先要把List<T>转换成BindingList<T>,

再进行绑定:DataGridView1.DataSource=new BindingList<MyClass>(new List<MyClass>())。否则的话会产生许多意想不到的错误。

如:初始绑定空数据后再添加数据绑定后,却取不到DataGridView.CurrentCell属性。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-20
请尝试用GridView控件,这个是.net2.0用来取代以前的DataGrid的,功能更加强大
GridView1.DataSource = list;
GridView1.DataBind();
第2个回答  2011-03-23
关注
第3个回答  2011-03-20
应该不会出现这种问题的:
dataGridView1.DataSource = new List<User> { new User { Name = "123" }, new User { Name = "456" } };
我这样做都可以显示,你确认datasource有内容?你自己做点假数据试试。本回答被提问者采纳
相似回答