2009-09-22 3 views
2

데이터 소스가 BindingList로 설정된 XtraGrid가 있습니다. 그리드의 일부 필드는 편집 가능합니다. 문제는 목록에서 다른 일부 필드 (편집 할 수있는 필드가 아님)에 대한 업데이트가 많아서 바인딩을 새로 고치는 것입니다. 필자가 필드 편집을 통해 셀 부분에 있다면, 이것은 버려지고 편집기는 닫힙니다.편집하는 동안 XtraGrid 데이터 소스 업데이트

편집기를 열어서 셀을 새로 고칠 수있는 방법이 있습니까? 아니면 그 전체 행을 새로 고치지 않아도된다면?

답변

5

그리드보기에서 EndDataUpdate()가 호출 될 때까지 BeginDataUpdate()를 호출하여 "시각적 및 내부 데이터 업데이트 방지" 을 호출 할 수 있습니다.

그래서 당신은 같은 것을 할 수있는 (당신이 최선을 수도하지 않을 수 첨부 이벤트를,하지만 당신은 아이디어를 얻을) :

private void gridView1_CellValueChanging(object sender, CellValueChangedEventArgs e) 
     { 
      gridView1.BeginDataUpdate(); 
     } 

private void gridView1_CellValueChanged(object sender, CellValueChangedEventArgs e) 
     { 
      gridView1.EndDataUpdate(); 
     } 
관련 문제