2012-11-13 2 views
0

내가 직면하는 문제는 내게는 단순하지만이 정신 블록을 지나칠 수는 없습니다.DataGridview에 행을 추가하는 동안 마지막 행을 제외하고 값이 삽입되지 않습니다.

좀 더 나은 상황을 설명하려면 : mdf 데이터베이스 (Northwind)에서 값을 읽고 값과 성으로 값을 나누는 클래스 메서드에 ContactName 열을 전달하고 있습니다. 그런 다음 이들을 다시 전달하고 내가 만든 적절한 열 아래에서 DataGridView에 추가하려고합니다.

내 현재 문제는 각 열에 행을 추가하는 것이지만 마지막 열은 제외하고 모두 테이블 열에 마지막 성과 이름을 표시한다는 것입니다.

필자는 어떤 이유로 공백으로 표시되는 행이 덮어 쓰여질 수 있다고 생각하지만 확실하지 않습니다. 나는 올바른 길을 가고 있는가?

여기 내 코드입니다 : 그 날에 입처럼 보이지만

  conn.Open(); 

     SqlDataReader reader = command.ExecuteReader(); 

     searchDataGridView.AllowUserToAddRows = true; 

     Customer cust = new Customer(); 

     searchDataGridView.ColumnCount = 2; 
     searchDataGridView.Columns[0].Name = "First Name"; 
     searchDataGridView.Columns[1].Name = "Last Name"; 

     int index = this.searchDataGridView.Rows.Count; 

      while (reader.Read()) 
      { 

       string customerid = reader.GetString(0); 
       string contactname = reader.GetString(2); 

       cust.NameSplit(contactname); 

       this.searchDataGridView.Rows.Add(); 

       DataGridViewRow r = searchDataGridView.Rows[rowIndex]; 

       r.Cells["First Name"].Value = cust.FirstName; 
       r.Cells["Last Name"].Value = cust.LastName; 
      } 

, 나는 그것을 충분히 명확하게 설명 바랍니다. 자세한 정보가 필요하면 알려 주시면 기꺼이 제공해 드리겠습니다. 고맙습니다.

답변

2

행을 추가 할 때 rowIndex 변수가 업데이트되지 않습니다. 이 라인은 고정이 필요합니다 :

rowIndex = this.searchDataGridView.Rows.Add(); 
+0

간단한 해결책! 통찰력을 가져 주셔서 감사합니다! 루프 외부에서 rowIndex decleration을 이동하고 루프에서 증가되었습니다. 정확하게 내 뇌의 끝에 무엇이 있었는지. 다시 감사합니다! – user1721879

관련 문제