单击外部gridview c#时取消编辑

时间:2019-07-11 18:13:07

标签: c# asp.net

当我在gridview之外单击时,我想运行OnRowCancelingEdit。如何在ASP C#中做到这一点?

protected void gridlist_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
    gridlist.EditIndex = -1;
    SortGridView(sortExpression, sortDirection);
}

2 个答案:

答案 0 :(得分:1)

您可以使用几行jQuery来做到这一点。第一部分将单击绑定到整个文档,找到editindex并通过单击GridView内的“取消”链接来执行回发。第二部分是通过单击同一GridView来确保编辑确实取消了。

<script>
    $('body').click(function (e) {
        var editIndex = <%= GridView1.EditIndex %>;
        if (editIndex >= 0)
            __doPostBack('<%= GridView1.UniqueID %>','Cancel$<%= GridView1.EditIndex %>')
    });

    $('#<%= GridView1.ClientID %>').click(function (e) {
        e.stopPropagation();
    });
</script>

答案 1 :(得分:-1)

您可能需要尝试Leave或LostFocus事件。

有关LostFocus事件的信息。

https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.lostfocus?redirectedfrom=MSDN&view=netframework-4.8

我还没有具体遇到您的问题,但是我认为,一旦您遇到LostFocus事件,就应该可以在那里取消编辑。