Выдает исключение StackOverflow при сортировке столбца Gridview - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть вид сетки, и я пытаюсь выполнить сортировку по столбцу. Когда я это делаю, выдается исключение 'StackOverflow'

код aspx:

    <asp:GridView ID="grdItems" runat="server"  Width="100%" AllowPaging="True"
                CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="False" OnRowDataBound="grdItems_RowDataBound" AllowSorting="True" OnSorting="grdItems_Sorting">
                <FooterStyle BackColor="White" Font-Bold="True" ForeColor="#808080"/>
                <RowStyle BackColor="#EFF3FB" />
                <EditRowStyle BackColor="#2461BF" />
                <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                <pagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" Font-Size="Small" />
                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <AlternatingRowStyle BackColor="White" />
                <Columns>

                    <asp:BoundField DataField="actionItemId" HeaderText="Item Id" SortExpression="actionItemId" >
                        <ItemStyle Font-Size="Small" VerticalAlign="Top" />
                        <HeaderStyle Font-Bold="True" Font-Size="Small" HorizontalAlign="Left" Width="65px"/>
                        <FooterStyle Font-Size="12px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="dueDate" DataFormatString="{0:d}" HeaderText="Due By" HtmlEncode="False" >
                        <ItemStyle Font-Size="Small" VerticalAlign="Top" />
                        <HeaderStyle Font-Size="Small" HorizontalAlign="Left" Width="65px" />
                    </asp:BoundField>
</Columns>
            <pagerSettings Mode="NumericFirstLast" />
        </asp:GridView>

Код сзади:

Protected Sub grdItems_Sorting(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles grdItems.Sorting
        Dim sortExpression As String = e.SortExpression
        ViewState("SortExpression") = sortExpression

        If grdItems.SortDirection = WebControls.SortDirection.Ascending Then
            grdItems.Sort(sortExpression, WebControls.SortDirection.Descending)
        Else
            grdItems.Sort(sortExpression, WebControls.SortDirection.Ascending)
        End If

    End Sub

Теперь я знаю, что поскольку я использую Sort () внутри обработчика событий Sorting, это исключение вызывает у меня. Есть ли другой способ обойти это? Любая помощь будет принята с благодарностью. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...