web-dev-qa-db-ja.com

asp.netのgridviewにボタンのある列を追加するにはどうすればよいですか?

グリッドビューが表示されているため、いくつかのボタンを含む追加の列を追加したいのですが、どのように、または何が最良の方法かわからないようです。誰でも私を始めることができますか?

21
NibblyPig

テンプレート列を使用する

<asp:GridView ID="GridView1" runat="server" DataKeyNames="id" DataSourceID="SqlDataSource1"
    OnRowCommand="GridView1_OnRowCommand">
    <Columns>
        <asp:BoundField DataField="name" HeaderText="Name" />
        <asp:BoundField DataField="email" HeaderText="Email" />
        <asp:TemplateField ShowHeader="False">
            <ItemTemplate>
                <asp:Button ID="Button1" runat="server" CausesValidation="false" CommandName="SendMail"
                    Text="SendMail" CommandArgument='<%# Eval("id") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
protected void GridView1_OnRowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName != "SendMail") return;
    int id = Convert.ToInt32(e.CommandArgument);
    // do something
}
46
Arthur