2009-06-22 5 views
1

Datagridview (무제한 모드)를 사용하고 있는데 디자이너에서 "추가 사용"을 선택했습니다.삽입 행은 어디로 이동 했습니까? (DataGridView)

폼이로드 될 때 그리드가 채워지지 않고 (공급 업체 및 버튼을 선택하여 별칭을 보려면 드롭 다운 됨) 탭에 *로 표시된 단일 행이 있습니다.

그러나 그리드를 채울 때 컬렉션에 추가 할 삽입 행이 더 이상 없습니다.

여기에 내가 뭐하는 거지 기본적이다 :

List<SupplierAlias> aliases = //some db lookup. 
aliasGrid.AutoGenerateColumns = false; 
aliasGrid.DataSource = aliases; 

열이 디자이너에 언 바운드 열로 정의됩니다.

이전에는 aliasGrid.DataBindings를 지우고 있었지만 제거하고 여전히 삽입 행을 제거합니다.

답변

0

다른 사람의 참조를 위해 자신의 질문에 대답.

목록을 변경했습니다. <SupplierAlias> BindingList에 데이터 바인딩하는 데 사용되었습니다. <SupplierAlias> 이제 삽입 행이 생깁니다.

0

SupplierAlias에 매개 변수없는 생성자가 있습니까? 그렇지 않은 경우, 새 행을 제공하기 위해 IBindingList 구현을 사용해야합니다 - 예를 BindingSource을 위해 :

BindingSource bs = new BindingSource(); 
    bs.DataSource = yourList; 
    bs.AddingNew += delegate(object sender, AddingNewEventArgs args) 
    { 
     args.NewObject = new SomeType(args); 
    }; 
    grid.DataSource = bs; 
+0

ID를 새 GUID로 설정하는 public 매개 변수없는 생성자가 있습니다. – Drithyin