ここで答えを探して多くの投稿を読みました。しかし、何をしても、Label には常に null 値が返されます。
その時点で問題なくデータを入力して読み取ることができますが、ラベルを読み取ってDBにデータを入力しようとすると、常にnullになります。
aspx コード:
<asp:TemplateField HeaderText="TOTAL YIELD" ItemStyle-HorizontalAlign="Center" HeaderStyle-Width="130">
<EditItemTemplate>
<asp:Label ID="lb_TotalYield" runat="server" ></asp:Label>
</EditItemTemplate>
</asp:TemplateField>
コードビハインドでは、それを読み取ろうとしています。
foreach (GridViewRow currentRow in gv_Fruit.Rows)
{
Label tempLabel = (Label)currentRow.FindControl("lb_TotalValue") as Label;
string theTotalValue = tempLabel.Text;
}
完全な情報については、ラベルを設定する方法を次に示します。
myGridView.SelectedRow.Cells[4].Text = myTotalYield;
gv_RowDataBound を実行しようとしましたが、呼び出されないようです。
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (myGridView.EditIndex == e.Row.RowIndex &&
e.Row.RowType == DataControlRowType.DataRow)
{
Label mylabel = (Label)e.Row.FindControl("lb_TotalYield");
mylabel.DataBind();
}
}