日期:2014-05-19  浏览次数:20717 次

关于绑定数据源的一点疑惑
有一个DataList,如果把它的DataSource绑定到一个全局的DataTable,当我改变DataTable的值时,DataList显示的内容会发生改变。

同一个DataList,如果我把它的DataSource绑定到一个全局的ArrayList或List <T> ,当改变ArrayList或List <T> 的值时,DataList显示的内容并没有相应地改变。

这是什么原因呢?查了MSDN也没找到答案,特上CSDN请教于各位前辈。

谢谢!


------解决方案--------------------
应该来说无论 DataList 绑什么东西 在你的数据集发生改变的时候没有对DataList进行重新绑定的话 数据都不会显示新数据 只有在数据集发生改变的时候 重新DATABIND() 才行
------解决方案--------------------
那时候你要重新绑定一次,
------解决方案--------------------
关注,回头来看答案
个人感觉应该和数据源的类型有关系,DataTable是个ADO.Net类,ArrayList和List <T> 都是基于集合的类,估计是类型的差别导致的
------解决方案--------------------
关注下.做个试验看看去
------解决方案--------------------
看看您的代码,如果不重新绑定,应该是不会动态改变数据的
------解决方案--------------------
重新邦定……
------解决方案--------------------
问个问题,要是初始化时dt检索出来是null,
点击下拉列表不会出错么???
------解决方案--------------------
只有实现了IBindingList接口的ListChanged事件才会触发。
如果要实现类似效果,请用BindingList <T> 。