在我的应用程序中,我使用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”。有什么办法,删除的项目没有显示?
答案 0 :(得分:0)
尝试使用支持那些“事件”的BindingList,而不是List:
using System.ComponentModel;
BindingList<MyClass> lst = new BindingList<MyClass>();
答案 1 :(得分:0)
当您从包含所有DataTable
数据的LookUpEdit
中删除行时,您必须接受更改才能应用删除。假设您的DataSource
是DataTable
:
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();