2013-08-15 2 views
0

이상한 점이 있거나 어쩌면 작동하는 방식이며 datagridview의 작동 방식에 대한 이해가 부족합니다. I는 DepartmentId 열이있는 DataGridView (DGV) 인 경우C# DataGridView : 동적으로 추가 된 열에서 값이 사라짐

private void btnAssign_Click(object sender, EventArgs e) 
    { 
     if (!gvData.Columns.Contains("DepartmentId")) 
     { 
      DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell(); 
      DataGridViewColumn dc = new DataGridViewColumn(); 
      dc = new DataGridViewTextBoxColumn(); 
      dc.HeaderText = "DepartmentId"; 
      dc.Name = "DepartmentId"; 
      dc.CellTemplate = cell; 
      gvData.Columns.Add(dc); 
     } 
     foreach(DataGridViewRow row in gvData.SelectedRows) 
     { 
      row.Cells["DepartmentId"].Value = getSelectedValues(clbDept); 
     } 
    } 

먼저가 확인 버튼을 클릭 할 때 동적으로 컬럼을 추가하고있다. 그렇지 않다면 새로운 Datagridviewtextboxcolumn을 만들고 적절한 설정을 지정합니다. 그런 다음 셀에 값을 추가합니다. 너무 좋아요.이게 이상한 일들입니다. 다른 열을 정렬 할 때 'DepartmentId'열의 데이터가 사라집니다. 동적으로 만드는 열에서 데이터가 사라집니다. 저장 방법 등을 사용해야합니까?

답변

0

datagridview에 데이터를 직접 추가하는 대신 datasource에 열을 추가하고 datagridview에 데이터 소스를 다시 지정해야합니다. 이렇게하면 정렬 문제가 해결됩니다.