2014-04-02 4 views
0

i 레이블이 거의없는 페이지에서 DetailsView를 사용하고 pageload 이벤트의 해당 레이블에 값을 넣고 싶습니다. 그러나 iam에서 값을 할당 할 수 없습니다. 여기 라벨은 OnPreRender()와 OnDataBound() 이벤트하지만 스피 점점 nullpointer 예외 모두 노력하고 내 코드페이지로드 이벤트의 detailsview에있는 레이블에 값을 추가하는 방법

스피입니다 ..

사람이 일의 몇 어려움을 겪고 this..iam에서 도와

<asp:DetailsView ID="gv_wifisummery" runat="server" Width="550px" 
     AutoGenerateRows="true" ForeColor="#333333" CellPadding="3" 
     CellSpacing="3" OnPreRender="DetailsView2_DataBound" OnDataBound="check" > 

     <Fields> 
     <asp:TemplateField HeaderText="Devices "> 

      <ItemTemplate> 
       <asp:Label ID="lbldevices" runat="server" Text='devices'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
      <asp:CommandField ShowEditButton="True" /> 
     </Fields> 

     <AlternatingRowStyle BackColor="White" Height="30px"/> 
     <CommandRowStyle BackColor="White" Font-Bold="True" ForeColor="Blue" /> 
     <FieldHeaderStyle Font-Bold="True" Width="150px" />         
     <FooterStyle Font-Bold="True" ForeColor="White" /> 
     <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" /> 
     <RowStyle BackColor="#E3EAEB" Font-Size="12px" /> 
    </asp:DetailsView> 

- ========================== ==========================================================================================================

protected void DetailsView2_DataBound(object sender, EventArgs e) 
    { 
    DetailsView myDetailsView = (DetailsView)sender; 
    myDetailsView.ChangeMode(DetailsViewMode.Insert); 
    //Insert 
    if (myDetailsView.CurrentMode == DetailsViewMode.Insert) 
    { 
    ((Label)myDetailsView.FindControl("lbldevices")).Text = DateTime.Now.ToString("M/d/yyyy HH:mm"); 
    } 
} 




protected void check(object sender, EventArgs e) 
{ 
DetailsView myDetailsView = (DetailsView)sender; 

if (myDetailsView.CurrentMode == DetailsViewMode.Insert) 
{ 
    // ((Label)myDetailsView.FindControl("lbldevices")).Text = DateTime.Now.ToString("M/d/yyyy HH:mm"); 

} 

    ((Label)myDetailsView.FindControl("lbldevices")).Text = DateTime.Now.ToString("M/d/yyyy HH:mm"); 
} 

답변

0

하이 첫째 mydetailsViews.Rows.Count을 확인()> 0 내가 당신 detailview 그것이 오류가 발생 그게 이유에 행이 없습니다 생각합니다.

이 시도 ...

 DataTable table = new DataTable(); 
     table.Columns.Add("Devices"); 

     DataRow dr = table.NewRow(); 

     dr["Devices"] = DateTime.Now.ToString("M/d/yyyy HH:mm"); 
     table.Rows.Add(dr); 
     myDetailsView.DataSource = table; 
     myDetailsView.DataBind(); 
관련 문제