datagridview绑定List<T>不显示数据
我的后台有一个实体类,没有构造方法,通过查询返回该实体类的List<User>,调试程序的时候,数据已经绑定到LIST中了,我在前台定义一个绑定方法,用datagridv...
我的后台有一个实体类,没有构造方法,通过查询返回该实体类的List<User> , 调试程序的时候,数据已经绑定到LIST中了,我在前台定义一个绑定方法,用datagridview.dataSorce = lists ; 然后在窗体的加载事件Load中调用了这个绑定方法,但是datagridview不显示数据,datagridview没有databind方法。大虾们能给个详细的绑定List<T>的方法吗? 或者说下思路。。谢谢了
展开
4个回答
展开全部
不要用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属性。
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属性。
展开全部
请尝试用GridView控件,这个是.net2.0用来取代以前的DataGrid的,功能更加强大
GridView1.DataSource = list;
GridView1.DataBind();
GridView1.DataSource = list;
GridView1.DataBind();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关注
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该不会出现这种问题的:
dataGridView1.DataSource = new List<User> { new User { Name = "123" }, new User { Name = "456" } };
我这样做都可以显示,你确认datasource有内容?你自己做点假数据试试。
dataGridView1.DataSource = new List<User> { new User { Name = "123" }, new User { Name = "456" } };
我这样做都可以显示,你确认datasource有内容?你自己做点假数据试试。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询