我正在使用C#.net
我想在GridView1中添加自定义编辑/删除按钮(每行一个编辑/删除按钮)。
但是我希望按钮能够访问另一个视图(同一表单中的editView / deleteView),而不是编辑“内联”等。
编辑按钮似乎工作正常。以下是我手动创建的方法:
Right clicked on GridView1
Clicked on ‘Add New Column’
Field Type: ButtonField
Header Text: Edit
Button Type: Button
Command Name: Edit
Text: Edit
在GridView1的'Events'部分(位于属性下),我双击了RowEditing,然后创建了一个我可以在后面的代码中访问的事件。
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
// Access _viewAdd
_multiView1.ActiveViewIndex = 1;
}
删除按钮应该访问deleteView(确认页面)而不是仅自动删除行。我想创建一个在用户选择删除按钮时触发的自定义方法。
答案 0 :(得分:1)
我最终使用了一个转发器,并在每行的末尾修改了一个编辑/删除按钮。这些按钮不仅保存OnClick_Event信息,还保存与该行关联的ID。
<asp:Repeater ID="Repeater" runat="server" DataSourceID="*****">
<HeaderTemplate>
<table cellpadding="3" cellspacing="3">
<tr>
<th style="text-align:left">Name</th>
<th> </th>
<th> </th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="text-align:left"><%#Eval("forename")%> <%#Eval("surname")%></td>
<td style="text-align:left"><asp:Button ID="edit" OnCommand="edit_Click" CommandArgument='<%#Eval("id")%>' runat="server" Text="Edit" CssClass="standardButton" /></td>
<td style="text-align:left"><asp:Button ID="delete" OnCommand="delete_Click" CommandArgument='<%#Eval("id")%>' runat="server" Text="Delete" CssClass="standardButton" /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
我希望能帮助其他人。
答案 1 :(得分:0)
您还可以处理RowDeleting
事件。两个事件参数都有Cancel
属性,您可以设置为true
以防止数据被修改。