2012-10-30 2 views
2

창 응용 프로그램에 문제가 있습니다. 레코드를 삽입하고 레코드를 gridview에 표시하면 gridview는 자동으로 하나의 빈 행을 만듭니다. 그리고 나는 또한gridview에서 빈 행을 제거하는 방법

dataGridView1.AllowUserToAddRows = false;

은 빈 행을 제거하는 대체 솔루션으로 저를 도와주세요 사용합니다.

+0

몇 가지 코드를 게시 할 수 있습니까? – rie819

+0

안녕하세요,이 하나의 코드를 사용하고 있습니다 DataSet data = objAllDetail.GetAllInformation(); dataGridView1.AllowUserToAddRows = false; 그리고이 하나의 – user1727804

+1

거기에 대답이 있어요 : http://stackoverflow.com/questions/4849987/how-do-i-remove-the-empty-row-from-the-bottom-of-a-datagridview-control – Thinhbk

답변

0

데이터 소스에 빈 레코드가 없습니까? 당신이 이것을 확인할 수있는 또 다른 방법은 OnRowDataBound에 if 문장을 추가하여 항목 색인을 검사하여 0 (또는 빈 행을 식별하는 다른 방법)이 행의 Visible = false를 설정하면

3

기본 DGV는 사용자가 새 행을 추가 할 수있게하는 빈 행. dataGridView1.AllowUserToAddRows = false; 빈 줄을 비활성화합니다.

당신은 다음과 같이 수동으로 빈 행을 삭제할 수 있습니다 :

for (int i = 1; i < dataGridView1.RowCount - 1; i++)  
{ 
    Boolean isEmpty = true; 
    for(int j=0;j<dataGridView1.Columns.Count; j++) 
    { 
    if (dataGridView1.Rows[i].Cells[j].Value.ToString() != "")  
     { 
      isEmpty = false; 
      break; 
     } 
    } 
    if (isEmpty)  
    {  
     dataGridView1.Rows.RemoveAt(i); 
     i--; 
    } 
} 

HTH를.

+0

코드가 완벽하게 작동합니다! 사용자가 새 행을 추가하기를 원하지만 사용자가 실수로 입력 한이 새 행이 저장되지만 문제를 해결 한 코드는 많이 있습니다. –

관련 문제