2011-10-18 3 views
0

내 응용 프로그램에서는 LookUpEdit을 사용하여 데이터 컬렉션을 바인딩합니다.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"을 선택하고 컬렉션 1에서이 항목을 삭제하십시오. 그러나 LookUpEdit 항목에는 "One"이 아직 표시되어 있습니다. 삭제 된 항목이 표시되지 않는 방법은 무엇입니까?

답변

0

대신 목록의 그 "이벤트"를 지원는 바인딩을 사용해보십시오 : 당신은 모든 LookUpEdit 데이터를 포함하는 DataTable에서 행을 삭제하면

using System.ComponentModel; 

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

, 당신은 다음을 적용 변경 사항을 적용해야 삭제. 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();