2013-10-18 6 views
0

격자보기가 있습니다. 라디오 버튼을 클릭하면 승인 태그 값이 employeeID.However를 기준으로 1로 업데이트되어야합니다. 객체가 설정되지 않았다는 오류가 나타납니다. 개체의 인스턴스 .. 내 열은 왼쪽에 추가되고 있습니다. 대신 오른쪽에 있습니다. 아래 코드는 제가 시도한 코드입니다.gridview에서 오른쪽에 열을 추가하십시오.

의 C# 코드

public void GridViewBind() 
     { 
      dadapter = new SqlDataAdapter("SELECT M_Emp_Personal.EmpName, M_Division.DivShort, M_Designation.DesigShort, T_TADA_tempform.BasicSalary, T_TADA_tempform.GPFNo, T_TADA_tempform.Gradepay,T_TADA_tempform.move_date, T_TADA_tempform.purpose, M_City.CityDesc, T_TADA_tempform.estt_visited, T_TADA_tempform.duration_stay, M_mode.mode_type, T_TADA_tempform.duration_unit, T_TADA_tempform.place, T_TADA_tempform.authority, T_TADA_tempform.exp_debited, T_TADA_tempform.reason FROM T_TADA_tempform INNER JOIN M_Emp_Personal ON T_TADA_tempform.EmpID = M_Emp_Personal.EmpID INNER JOIN M_Division ON T_TADA_tempform.DivisionID = M_Division.DivisionID INNER JOIN M_Designation ON M_Emp_Personal.DesigID = M_Designation.DesigID INNER JOIN M_City ON T_TADA_tempform.CityID = M_City.CityID INNER JOIN M_mode ON T_TADA_tempform.mode_ID = M_mode.mode_ID where M_Emp_Personal.EmpID=" + ddlname.SelectedValue + "", conn); 
      dset = new DataSet(); 
      dadapter.Fill(dset); 
      GridView1.DataSource = dset.Tables[0]; 
      GridView1.DataBind(); 
     } 


protected void submit_info(object sender, EventArgs e) 
     { 


      GridViewRow grow = (GridViewRow)(sender as Control).Parent.Parent; 

      RadioButton rbpApprove = (RadioButton)grow.FindControl("rbtnapprove"); 
      RadioButton rbpReject = (RadioButton)grow.FindControl("rbtnreject"); 



      if (rbpApprove.Checked == true) 
      { 
       conn.Open(); 
       SqlCommand cmd = new SqlCommand("UPDATE T_TADA_tempform SET Recommened_tag =1 where [email protected]", conn); 

       cmd.Parameters.AddWithValue("@EmpID", ddlname.SelectedValue); 

       conn.Close(); 

      } 

이 내 ASP.NET 코드

<asp:GridView ID="GridView1" runat="server" CssClass="vutblrow" TabIndex="6" 
CellPadding="4" ForeColor="#333333" GridLines="None" Width="100%" 
PagerStyle-Mode="NumericPages" > 
<PagerStyle CssClass="pgr" Height="25px" BorderStyle="Solid" /> 

<Columns> 
<asp:TemplateField HeaderText="Approve"> 
<ItemTemplate> 
<asp:RadioButton runat="server" GroupName="status" /> 
                    </ItemTemplate>                                 
</asp:TemplateField> 

<asp:TemplateField HeaderText="Reject"> 
<ItemTemplate> 
<asp:RadioButton runat="server" GroupName="status" /> 
                    </ItemTemplate>                                 
</asp:TemplateField><asp:TemplateField HeaderText="Submit"> 

<ItemTemplate> 
<asp:Button CssClass="btnAction" Text="Sumbit" runat="server" OnClick="submit_info" /> 
                    </ItemTemplate>                                
</asp:TemplateField> 

                   </Columns>               
<HeaderStyle CssClass="vutblhdr" /> 

</asp:GridView> 
+0

라고 GridViewBind되어 실행이

 <asp:TemplateField HeaderText="Approve"> <ItemTemplate> <asp:RadioButton ID="rbtnapprove" runat="server" GroupName="status" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Reject"> <ItemTemplate> <asp:RadioButton ID="rbtnreject" runat="server" GroupName="status" /> </ItemTemplate> </asp:TemplateField> 

을 시도하고 전화를? 데이터 바인딩이 완료되기 전에 컨트롤에서 값을 사용하고있는 것처럼 보입니다 ... –

+0

예, 지금 해결되었습니다 ... 오류가 발생하지 않지만 라디오 버튼을 클릭 한 다음 T_TADA_tempform을 업데이트하지 않습니다. 제출 – user2605927

답변

1

당신은 당신이 제대로 초기화되지 않은 객체를 사용하려는 해당 오류를 볼 수 있습니다.

가능성이 후보자는 다음과 같습니다 rbpApprove 제어가 다음을 찾을 수없는 경우

RadioButton rbpApprove = (RadioButton)grow.FindControl("rbtnapprove"); 
RadioButton rbpReject = (RadioButton)grow.FindControl("rbtnreject"); 

여기이 선 :

if (rbpApprove.Checked == true) 

는 당신에게 당신이 점점 오류를 줄 것이다.

그러나 코드의 하위 집합 만 볼 수 있습니다.

+0

예 radiobutton ID를 넣는 것을 잊어 버렸습니다. 오류는 이제 사라졌지 만 여전히 T_TADA_tempform을 업데이트하지 않습니다 ... – user2605927

0

나는 당신이 radionbuttons의 ID를 누락 생각, 어디 방법이

if (rbpApprove.Checked == true) 
      { 
       conn.Open(); 
       SqlCommand cmd = new SqlCommand("UPDATE T_TADA_tempform SET Recommened_tag =1 where [email protected]", conn); 

       cmd.Parameters.AddWithValue("@EmpID", ddlname.SelectedValue); 
       cmd.ExecuteNonQuery(); 

       conn.Close(); 

      } 
+0

예. ID를 넣는 것을 잊어 버렸습니다. 오류는 이제 사라졌지 만 여전히 나던 것은 아닙니다. 내 테이블을 업데이트 ... – user2605927

+0

당신은 연결에 실행을 호출하지 않습니다, 내 대답을 참조하십시오 –

관련 문제