「AutoGenerateEditButton」によって生成された編集ボタン付きのグリッドビューがあります。ここで、この編集ボタンの近くに新しいイベントを持つボタンを追加する必要があります。
そこにボタンを配置する方法:
を作成してTemplateField
内にボタンを配置できますItemTemplate
。編集リンク ボタンと別のコントロールを同じ列<td>
に配置する場合は、それらを 1 つの要素に配置するだけです。このアプローチを使用する場合、AutoGenerateEditButton="true"
これを手動で実装する必要がなくなることに注意してください。既存の機能 ( ) を維持したい場合は、AutoGenerateEditButton="true"
javascript を使用してこれを実装することを検討してください。
ASPX:
<asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table>
<tr>
<td>
<asp:LinkButton ID="lnkEdit" runat="server" Text="Edit" /> <br />
<asp:Button ID="btnGreet" runat="server" OnCommand="Greet" CommandArgument='<%# Eval("Name") %>'
Text="Greet" />
</td>
<td>
<asp:Label ID="lblName" runat="server" Text='<%# Eval("Name") %>' />
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
コードビハインド:
protected void Greet(object sender, CommandEventArgs e)
{
Response.Write("Hello " + e.CommandArgument);
}
gridviewの[テンプレート]フィールドを使用して、編集ボタンを追加します。
<asp:GridView ID="gvproddet" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="imgmodify" runat="server" ImageUrl="~/database/images/edit.jpg"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Remove">
<ItemTemplate>
<asp:ImageButton ID="imgbtnDelete" runat="server" ImageUrl="~/database/images/DeleteRed.jpg" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
注:AutoGenerateColumnsプロパティをfalseとして使用します。同じ列の両方のボタンを同じに配置する場合<td>
。
独自のテンプレートを作成できます。最も簡単な方法は、グリッドビュー エディターに移動し、自動ボタン セクションを見つけて右クリックし、「テンプレートに変換」と言うことです。すべてのボタンが個別に表示され、必要なものを追加できます。