我有一个由“AutoGenerateEditButton”生成的带有编辑按钮的gridview。现在我需要在此编辑按钮附近添加带有新事件的按钮。
如何将按钮放在那里:
您可以创建一个TemplateField
并将您的按钮放在ItemTemplate
. 如果您希望编辑链接按钮和另一个控件位于同一列中,只需将它们放在一个<td>
元素中即可。请注意,当使用这种方法时,您不再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编辑器并找到自动按钮部分并右键单击并说“转换为模板”。您最终会单独看到所有按钮,并且可以在其中添加任何您想要的东西。
使用 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>
。