2011-08-19 8 views
2

내가있는 gridview에서 체크 박스를 구현하기 위해 노력하고,이 체크 박스의 작업 기록을 확인하는 것입니다있는 gridview 체크 박스 문제 asp.net

,

이 버튼을 확인

을 누르면, 체크 모든 항목 확인란이 내 코드 데이터베이스

에 입력됩니다

나는이 잘못된 길에 있지만, 경우 (cbox.Equals (참))을에 갈 수
protected void Button1_Click(object sender, EventArgs e) 
    { 

     foreach (GridViewRow row in GridView1.Rows) 
     { 

      CheckBox cbox = ((CheckBox)row.FindControl("Verify")); 

      if (cbox.Equals(true)) 
      { 
       String DraftsText = ((TextBox)row.FindControl("numDrafts")).Text; 
       String TCtext = ((TextBox)row.FindControl("numTC")).Text; 

       if (row.RowType == DataControlRowType.DataRow) 
       { 
        //Header trs = new Header(); 
        // GridView1.Rows[0].FindControl("numTC"); 
        if (TCtext != "" && DraftsText != "") 
        { 

         // try 
         // { 
         string date = row.Cells[4].Text; 

         DateTime dateTime = Convert.ToDateTime(date); 
         string dateFormatted = dateTime.ToString("d-MMM-yy"); 

         string unit = row.Cells[5].Text; 
         string currency = row.Cells[6].Text; 
         string totalFC = row.Cells[7].Text; 
         string totalDC = row.Cells[8].Text; 
         int d = Convert.ToInt32(DraftsText); 
         int tc = Convert.ToInt32(TCtext); 


         hdr = new Header(d, tc, dateFormatted, unit, currency, totalFC, totalDC); 
         hdr.InsertFCTC(hdr); 
        } 

       } 

      } 
     } 
    } 

그것의 예외는 : 객체 참조가 객체의 인스턴스로 설정되지 않았습니다.

나는 이것을 해결하기 위해 무엇을 할 수 있습니까?

많은 감사

답변

1

if (cbox.Equals(true))해야 if (cbox.Checked)

이후 cbox is a checkbox object 당신이 true/false

+0

아직도 날이 개체의 인스턴스로 설정되지 않았습니다 참조 개체 수 있습니다. – Karl

+0

row.FindControl을 사용하여 찾을 때 해당 확인란을 찾을 수 없습니다 ... 문제를 찾으려면 aspx 태그를 게시해야합니다. –

+0

확인 문제가 해결되었습니다. 잘못된 텍스트 ID를 전달했는데 & nbsp; 고맙다고 말했어 야합니다. – Karl

1

을 반환합니다 cboxChecked 속성을 사용할 필요가 그래서는 비교할 수없는 당신 제안 된 확인란을 찾을 수 없기 때문에 NullPointerException을 수신합니다. 또는 CheckBox 유형의 인스턴스로 직접 캐스트가 예상대로 작동하지 않습니다.

+0

확인 문제가 해결되었지만 잘못된 텍스트 ID를 전달하면 if (if cbox.Checked) – Karl

1
은 이런 식으로 코드를 변경하고 다시 시도

:

CheckBox cbox = ((CheckBox)row.FindControl("Verify")); 

      if (cbox != null && cbox.Checked) 
      { 
.... 
}