2012-08-01 2 views
-1

DataGridview에서 데이터를 숫자로 정렬하고 텍스트 상자에 마지막 행의 특정 셀을 표시하려고합니다. 어떻게해야합니까?C# 정렬 및 DataGridview의 마지막 행 가져 오기

내 코드 : (EDITED)

 if (dataGridView1.Rows.Count > 0) 
     { 
      int nRowIndex = dataGridView1.Rows.Count - 1; 

      dataGridView1.Rows[nRowIndex].Selected = true; 

      textBox2.Text = dataGridView1.Rows[nRowIndex].Cells[2].Value.ToString() ; << exception occur 

그리고 난이있는 NullReferenceException를 얻을.

해결 방법?

추 신 : 거기에 3 개의 열이 있는데, 마지막 행의 세 번째 열을 가져와야합니다. 네 번째 셀 (dataGridView1.Rows[nRowIndex].Cells[3])를 얻으려고 노력하고 있고 있기 때문에 당신이 말한대로

+0

노력을 보이십시오. –

+0

방금 ​​추가 했으므로 필자가 작성한 코드를 포함하는 것을 잊어 버렸습니다. –

+0

DataGridview에 몇 개의 열이 있습니까? gridview에있는 열이 4보다 작아 보이지 않습니다. 그러면 어떤 코드 행이 예외를 발생시키는지도 정확하게 알 수없는 경우. – ZafarYousafi

답변

0
textBox2.Text = dataGridView1.Rows[nRowIndex].Cells[dataGridView1.Columns.Count -1].Value.ToString() ; 
1

만 3 셀 (열), exeption을 얻고있다. > gvJobCard.PageIndex = - : 당신의 마지막 코멘트를 바탕으로

textBox2.Text = dataGridView1.Rows[nRowIndex].Cells[2].Value.ToString() 
+0

네,하지만이 코드 줄로 변경 한 후에 NullReferenceException이 있습니다. –

+0

dataGridView1.Rows [nRowIndex]가 디버거에서 null인지 확인하십시오. – Vale

+0

확인하는 방법? 몇 가지 코드를 제공합니다 pls –

0

, 내가 변경 한 코드 비트 :

를 Page_Load()에서
if (dataGridView1.Rows.Count > 0)   
{     
    int nRowIndex = dataGridView1.Rows.Count - 1;    
    dataGridView1.Rows[nRowIndex].Selected = true;    
    if(dataGridView1.Rows[nRowIndex].Cells[2].Value != null) 
     textBox2.Text = dataGridView1.Rows[nRowIndex].Cells[2].Value.ToString() ;   } 
+0

당신이 준 코드는 시스템이 단지 datagridview의 마지막 행을 강조 표시하지만 데이터를 텍스트 상자에 표시하지 않습니다. –

+0

이것은 행의 마지막 셀에있는 데이터가 null이며 오류를 가져 오는 이유임을 의미합니다. 이제 거기에 무엇이 잘못되었는지 보려고합니다. – Umesh

+0

이상한데, 지정된 셀에 숫자가 들어 있지만 데이터를 가져올 수 없습니다. 그것이 null 인 이유입니다. –

0

쓰기 만에 코드를 변경 Int32.MaxValue;

보호 공극 gvJobCard_RowDataBound (객체 송신자 GridViewRowEventArgs E)

{

gvJobCard.PageIndex gvJobCard.PageCount = - 1; // gvJOBCARD에서 DESC 순서로 작동합니다.

}

관련 문제