문제

내가 문제가 있으로 계속하는 문서 내 C#Foreach 다.

나는 그것을 원인이 있는 경우 빈에서 셀 datagridview,그리고 그렇다면,다음 건너뛰기 인쇄 가치에 수행하는 확인됩니다.

는 데 도움이 감사한 것입니다.

는 코드는 다음과 같습니다:

foreach (DataGridViewRow row in this.dataGridView1.Rows)
{                            
    foreach (DataGridViewCell cell in row.Cells)
    {
        if (cell.Size.IsEmpty)
        {
            continue;
        }
        MessageBox.Show(cell.Value.ToString());
    }
}
도움이 되었습니까?

해결책

만,당신은 현재 여부를 확인한 세포의 크기 에 포함되어 있습니다.그리드에서 모든 세포에서 열가 동일한 폭과 모든 세포에서 행에는 동일한 높이(전형적으로,어쨌든).

할에 따라 검사 의합니다.예를 들어:

if (cell.Value == null || cell.Value.Equals(""))
{
    continue;
}

정이 다른 표현이"빈"값에 관심이 있다.많은 경우,기록할 수 있습니다 특정 메서드 이며,그것에서 체크인:

if (IsEmptyValue(cell.Value))
{
    continue;
}

다른 팁

여기서 계속 키워드를 사용할 필요가 없으며 다음을 수행 할 수 있습니다.

foreach (DataGridViewRow row in this.dataGridView1.Rows)
{                            
    foreach (DataGridViewCell cell in row.Cells)
    {
        if (!cell.Size.IsEmpty) MessageBox.Show(cell.Value.ToString()); // note the ! operator
    }
}

또한, 당신은 크기 셀의 비어 있습니다. 이것이 정말로 당신이하고 싶은 일입니까?

어떤 오류가 발생합니까?

셀의 값이 크기가 아닌 비어 있는지 확인해서는 안됩니까?

if(String.IsNullOrEmpty(cell.Value.ToString()))
    continue;

나는 전용 셀 [1] 데이터를 읽고 싶다 ... Olny

foreach (DataGridViewRow row in this.dataGridView1.Rows)
{                            
    foreach (DataGridViewCell cell in row.Cells[1])
    {
       if (cell[1].Value == null || cell.Value.Equals(""))
{
    continue;
}

        MessageBox.Show(cell[1].Value.ToString());
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top