のイベントで存在gridview
するラベル テキストを設定しようとしています。同じコードは次のとおりです。RowDataBound
gridview
protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int day = Convert.ToInt32(DropDownList3.SelectedValue);
int days = System.DateTime.DaysInMonth(2013,day);
Label lab = (Label)e.Row.FindControl("d");
lab.Text = days.ToString();
}
}
グリッドビュー構造:
<asp:GridView ID="GridView2" runat="server" OnRowDataBound="GridView2_RowDataBound" />
<asp:BoundField DataField="name" HeaderText="Name" SortExpression="n" />
<asp:BoundField DataField="dept" HeaderText="Department" SortExpression="d" />
<asp:BoundField DataField="code" HeaderText="Employee Code" SortExpression="c" />
<asp:TemplateField HeaderText="Total days" >
<itemtemplate>
<asp:Label ID="d" runat="server" Text="" />
</itemtemplate>
</asp:TemplateField>
</asp:GridView>
上記のコードでは、「d」はグリッドビューのラベルの ID です。強調表示された行でOBJECT REFERENCE NOT SET TO INSTANCE OF AN OBJECT.
、私が理解している限り、新しいラベルが作成されていないというエラーが発生しています。次に、このイベントで計算された値を割り当てる方法gridviewのラベルに?