グリッドビューの各行の特定の列にセルを追加するにはどうすればよいですか 。RowCreatedイベントを使用したいのですが。
3つの列(ProductName、Price、Count)を持つgridviewがあり、データベースから(ProductName、Price)を取得し、(count)の値を追加したい例:(Kitkat、2 $)番号5を追加したい(カウント)列、各行が作成されたときにこの操作を処理したいと思います。
ありがとう
マークアップを表示していないので、(コメントに基づいて)最初の 2 つの列は<BoundFields>
. その場合は、3 番目の列を として追加し、その中に<TemplateField>
を配置しLabel
、イベントを使用してRowDataBound
に正しい数値を追加しますLabel
。
マークアップは次のようになります。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
onrowdatabound="GridView1_RowDataBound">
<Columns>
<asp:BoundField DataField="ProductName" HeaderText="Product Name" />
<asp:BoundField DataField="Price" HeaderText="Price" />
<asp:TemplateField HeaderText="Count">
<ItemTemplate>
<asp:Label ID="countLbl" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
コードビハインド:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
Label countLbl = (Label)e.Row.FindControl("countLbl");
//Your logic for what number to use should go here, I'm just defaulting to 5.
countLbl.Text = "5";
}