3

ASP.NET Gridview で「DataTables Jquery」を使用しています...

グリッドビューは小さなデータセットでは問題なく動作しますが、大きなデータセット (>5000 行) ではロードに時間がかかり、グリッドのロード中にロード サークルも表示されません..

ASP.NET 疑似コード -

<body id="dt_example">
<form runat=server>
<asp:GridView ID="gv" runat="server" CellPadding="5" CellSpacing="5">
    <RowStyle Wrap="False" />
</asp:GridView>
        </form>
</body>

JavaScript -

<script type='text/javascript' charset='utf-8'>

        $(document).ready(function () {
            $('#gv').dataTable({
                    'bJQueryUI': true,
                    'sPaginationType': 'full_numbers',
                    'bAutoWidth': true
            });
        });
        </script>

コードビハインド -

protected void Page_Load(object sender, EventArgs e)
    {
        QueryRslt(passType, val);
        gv.HeaderRow.TableSection = TableRowSection.TableHeader;
    }


    public void QueryRslt(string Type, string Value)
    {
        if (!string.IsNullOrEmpty(Type))
        {
            if (Type == "TaskStatus")
            {
                gv.DataSource = tsk
                               .Where(x => x.Status == Value)
                                        .Select(m => new
                                        {
                                            ID = m.Incident_ID,
                                            TaskID = m.Task_ID,
                                            CI = m.CI,
                                            Status = m.Status,
                                            Priority = m.Priority,
                                            ReportedDate = m.Task_Assign_Time,
                                            AssigneeGroup = m.Assignee_Group,
                                            AssignedGroup = m.Assigned_Group,
                                            RespondDate = m.Incident_Responded_Date,
                                            Reason = m.Status_Reason
                                        }).ToList();
                gv.DataBind();
            }
            else if (Type == "IncidentStatus")
            {
                gv.DataSource = inc
                               .Where(x => x.Status == Value)
                                        .Select(m => new
                                        {
                                            ID = m.Incident_ID,
                                            CI = m.CI,
                                            Status = m.Status,
                                            Priority = m.Priority,
                                            ReportedDate = m.Incident_Reported_Date,
                                            AssigneeGroup = m.Assignee,
                                            AssignedGroup = m.Assigned_Group,
                                            RespondDate = m.Incident_Responded_Date,
                                            Reason = m.Status_Reason
                                        }).ToList();
                gv.DataBind();
            }}}

読み込み中の Gif がほんの一瞬表示されてから消えます...

だから私が知りたいことが2つあります -

  1. グリッドビュー全体が読み込まれるまで、読み込み中の gif を表示します。

  2. データの処理時間を短縮します。

4

1 に答える 1