LookUpEdit显示已删除的项目

时间:2011-10-18 19:09:29

标签: c#

在我的应用程序中,我使用LookUpEdit来绑定数据集。

 List<myClass> lst=new List<myClass>();

 void Init()
 { 
     lst.Add(new myClass("One"));
     LookUpEdit.DataSource=lst;
 }


  class myClass()
  {
     public myClass(string name)
     {
         Name=name;
     }

     public ovveride ToString()
     {
         return Name;
     }
 }

我在LookUpEdit项目中选择“One”,然后从集合lst中删除此项目。但是在LookUpEdit项目中还显示了“One”。有什么办法,删除的项目没有显示?

2 个答案:

答案 0 :(得分:0)

尝试使用支持那些“事件”的BindingList,而不是List:

using System.ComponentModel;

BindingList<MyClass> lst = new BindingList<MyClass>();

答案 1 :(得分:0)

当您从包含所有DataTable数据的LookUpEdit中删除行时,您必须接受更改才能应用删除。假设您的DataSourceDataTable

的示例
int row = 5; // ROW TO DELETE
BindingSource binding = lookUpEdit1.Properties.DataSource as BindingSource;
DataTable dt = (binding.DataSource as DataSet).Tables[binding.DataMember];
dt.Rows.RemoveAt(row);
dt.AcceptChanges();