2014-01-09 4 views
0

나는 주어진 컬럼의 합을 검사하는 정적 메소드를 가지고있다. 나는 이벤트 RowsAdded에 그것을 사용하고 있지만 다음과 같은 오류 있어요 : 여기 DataGridView의 셀이 있는지 확인하는 방법?

System.NullReferenceException was unhandled 
Message=Object reference not set to an instance of an object. 

가, 내가 잘못

public static decimal datagSum(DataGridView dgv, string colName) 
{ 
    int i = dgv.RowCount - 1, j = 0; 
    decimal dgvSum = 0; 
    decimal k = 0; 
    while (j < i) 
    { 
     if (dgv.Rows[(i - 1)].Cells.Count > 3) 
     { 

      if (decimal.TryParse(dgv.Rows[(i - 1)].Cells[colName].Value.ToString(), out k)) 
      { 
       dgvSum += k; 
      } 
      j++; 

     } 
    } 
    return dgvSum; 
} 
+0

어딘지 말해 줘요 내 코드를 당신이 만약 하지만 처음에는 중단 점을 입력하고 각 변수 위로 마우스를 가져 가면 어떤 부분이 null인지 확인할 수 있습니다 – Coops

+0

이 예외가 발생하면 줄 번호가 부여되지 않았습니까? – sthotakura

+0

@GovindaRajbhar : 다른 사람들의 게시물을 개선하는 것이 좋지만 게시물을 편집 할 때는 모든 형식 문제를 해결하고 시간을내어 작성하는 것이 좋습니다. 확실한 맞춤법/문법/구두점 오류 (예 : '나'대신 'i')가 고정되어 있는지 확인하십시오. 이렇게하면 다른 사람이 첫 번째로 올바르게 가져 와서 게시물을 다시 편집 할 필요가 없도록 할 수 있습니다 시각. 감사! –

답변

0

코드 조각

if (dataGridView1.Columns[e.ColumnIndex].Name == "CompanyName") 
    { 
     if (String.IsNullOrEmpty(e.FormattedValue.ToString())) 
     { 
      dataGridView1.Rows[e.RowIndex].ErrorText = 
       "Company Name must not be empty"; 
      e.Cancel = true; 
     } 
    } 
관련 문제