过去,用DataSet作为数据源,绑定2个以上控件的时候(控件跨窗体也可以),改变一个控件中的数据,例如删除一行,其他控件中的数据会跟随着一起变化,消失一行。
而现在我用新的List<t>作为数据源,却无法实现,这是怎么回事呢?我遇到的具体情况如下:比如,我实现一个UserInfo类,有LastName、FirstName这2个属性,再做一个
List<UserInfo> users = new List<UserInfo>();然后再界面上绑定一个ComboBox
comboBox1.dataSourse=Users;此时,显示是正常的N行数据
然后,在某段代码中,使用Users.add(new UserInfo("aa","aa"));添加一个对象到users中
如果按照DataSet的情况,则会自动添加了一个下拉框选项。但是List<UserInfo>却不会。然后,我用comboBox1.dataSourse=Users;再次绑定,以便加载新数据,但是依然无效请教这是为什么呢?
而现在我用新的List<t>作为数据源,却无法实现,这是怎么回事呢?我遇到的具体情况如下:比如,我实现一个UserInfo类,有LastName、FirstName这2个属性,再做一个
List<UserInfo> users = new List<UserInfo>();然后再界面上绑定一个ComboBox
comboBox1.dataSourse=Users;此时,显示是正常的N行数据
然后,在某段代码中,使用Users.add(new UserInfo("aa","aa"));添加一个对象到users中
如果按照DataSet的情况,则会自动添加了一个下拉框选项。但是List<UserInfo>却不会。然后,我用comboBox1.dataSourse=Users;再次绑定,以便加载新数据,但是依然无效请教这是为什么呢?
第二种方法是使用BindingSource,调用BindingSource.ResetBinding来更新
强烈建议使用第二种方法~
至于再次绑定为什么不行,加入你是asp.net项目的话,需要重新执行databind方法.
是WinForm
ASP.Net没有ComboBox控件的,而且Asp>net也没有databind方法