Программно вывести строку сетки из режима редактирования
В OnRowCommand
событие элемента управления gridview ASP.NET, как я могу программно получить строку OUT режима редактирования? Я установил строку в режим редактирования через командное поле. После того, как пользователь нажмет "Отклонить сейчас", я хочу установить строку в "обычном" режиме без правки.
Теперь у меня есть:
<asp:TemplateField HeaderStyle-Width="100" HeaderText="Actions" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="ltStatus" runat="server" />
<asp:LinkButton CssClass="btn-primary-green" CommandArgument="<%# Container.DataItemIndex %>" ID="btnApprove" CommandName="approve" runat="server" Text="Approve" /><br />
<asp:LinkButton CssClass="btn-primary" CommandArgument="<%# Container.DataItemIndex %>" ID="btnDelete" Visible="false" CommandName="deleteorder" runat="server" Text="Delete" />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlDisApproveReason" ValidationGroup="disapprove" runat="server" >
<asp:ListItem Text="<%$Resources:disapprovereason %>" Value="0" />
<asp:ListItem Text="<%$Resources:duplicateorder %>" Value="1" />
<asp:ListItem Text="<%$Resources:testorder %>" Value="2" />
<asp:ListItem Text="<%$Resources:retourorder %>" Value="3" />
</asp:DropDownList>
<asp:RequiredFieldValidator CssClass="errortext" ID="rfvDisapprove" InitialValue="0" ValidationGroup="disapprove" ControlToValidate="ddlDisApproveReason" runat="server" ErrorMessage="<%$resources:glossary,required %>" SetFocusOnError="true" Display="Dynamic" />
<asp:LinkButton CssClass="btn-primary" ValidationGroup="disapprove" CommandArgument="<%# Container.DataItemIndex %>" ID="btnDisApprove" CommandName="disapprove" runat="server" Text="Disapprove now" />
<br />
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="true" EditText="<%$Resources:disapprove %>" />
Событие OnRowCommand
Protected Sub gvAllOrders_OnRowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles gvAllOrders.RowCommand
If e.CommandName = "disapprove" Then
index = Convert.ToInt32(e.CommandArgument)
data = gvAllOrders.DataKeys(index)
orderId = data.Values("id")
Dim clickedRow As GridViewRow = CType(CType(e.CommandSource, LinkButton).NamingContainer, GridViewRow)
Dim reason As Integer = CType(clickedRow.FindControl("ddlDisApproveReason"), DropDownList).SelectedValue
If GeneralFunctions.DisapproveOrder(False, reason, Date.Now, orderId) = 1 Then
'disaprove order
'HERE I WANT THE ROW TO GO OUT OF EDIT MODE
gvAllOrders.DataBind()
End If
End If
End Sub