簡體   English   中英

使用jQuery AJAX在ASP.Net ASPXGridView中進行無窮滾動(無限滾動)

[英]Endless Scroll (Infinite Scroll) in ASP.Net ASPXGridView using jQuery AJAX

我想知道有什么方法可以在ASPXGridview上實現無盡的滾動。 我已經看到了類似這樣的內容( http://demos.devexpress.com/aspxgridviewdemos/PagingAndScrolling/EndlessPaging.aspx ),但這是行不通的,因為我有一個舊版本的DevExpress。

我的網格包含很多數據,所以我不希望一次全部加載它。

那么可以使用JQuery完成嗎?

這是用於填充“結果”網格的代碼:

    public List<main_screenHelper> GetDedicatedRouteList(string SwitchCd, int AccId, int BndId, int CarrId, int SttId, int StatusId, int Req_id)
    {
        SqlConnection con = ConnectionFactory.GetDedicatedRoutesConnection();
        SqlCommand cmd = new SqlCommand("GetDedicatedRoutesList", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@SwitchCd", SwitchCd);
        cmd.Parameters.AddWithValue("@AccId", AccId);
        cmd.Parameters.AddWithValue("@BndId", BndId);
        cmd.Parameters.AddWithValue("@CarrId", CarrId);
        cmd.Parameters.AddWithValue("@SttId", SttId);
        cmd.Parameters.AddWithValue("@StatusId", StatusId);
        cmd.Parameters.AddWithValue("@Req_id", Req_id);
        List<main_screenHelper> dedicatedRoutList = new List<main_screenHelper>();
        try
        {
            con.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                main_screenHelper drList = new main_screenHelper();
                drList.dr_id = Int32.Parse(dr["dr_id"].ToString());
                drList.switch_code = (dr["switch_code"].ToString());
                drList.cus_company_name = (dr["cus_company_name"].ToString());
                drList.carrier = (dr["Carrier"].ToString());
                drList.dr_percentage = Int32.Parse(dr["dr_percentage"].ToString());
                drList.dr_overflow = (dr["dr_overflow"].ToString());
                drList.bnd_name = (dr["bnd_name"].ToString());
                drList.RoutingCase = (dr["RoutingCase"].ToString());
                drList.peak = Convert.ToBoolean(dr["peak"]);
                drList.off_peak = Convert.ToBoolean(dr["off_peak"]);
                drList.weekend = Convert.ToBoolean(dr["weekend"]);
                drList.active_date = Convert.ToDateTime(dr["active_date"]);
                drList.stt_name = (dr["stt_name"].ToString());
                drList.stt_display_order = Int32.Parse(dr["stt_display_order"].ToString());
                drList.opportunity = Convert.ToBoolean(dr["opportunity"]);
                drList.Lock = Convert.ToBoolean(dr["lock"]);
                drList.comments = (dr["comments"].ToString());
                drList.lcr_name = (dr["lcr_name"].ToString());
                dedicatedRoutList.Add(drList);
            }
        }
        finally
        {
            con.Close();
            con = null;
            cmd = null;
        }
        return dedicatedRoutList;
    }
}

這是我的網格的ASP代碼:

<dxwgv:ASPxGridView ID="dgrdResults" runat="server" AutoGenerateColumns="False" 
                DataSourceID="DedicatedRouteDataSource" Width="100%" 
                onhtmlrowcreated="dgrdResults_HtmlRowCreated">
                <Columns>
                    <dxwgv:GridViewDataTextColumn Caption="Switch" FieldName="switch_code" 
                        VisibleIndex="0" Width="30px">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="LCR" FieldName="lcr_name" 
                        VisibleIndex="1">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Customer" FieldName="cus_company_name" 
                        VisibleIndex="2" Width="150px">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Vendor" FieldName="carrier" 
                        VisibleIndex="3">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Ratio" 
                        VisibleIndex="4">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Overflow" 
                        VisibleIndex="5">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Destination" FieldName="bnd_name" 
                        VisibleIndex="6">                                                  
                    <DataItemTemplate>
                        <dxe:ASPxHyperLink ID="DestinationLink" runat="server" Text='<%#Eval("bnd_name") %>' ClientInstanceName="DestinationLink" Font-Size="11px">
                        </dxe:ASPxHyperLink>                                         
                    </DataItemTemplate>                      
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Peak" FieldName="peak" 
                        VisibleIndex="7">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="O/Peak" FieldName="off_peak" 
                        VisibleIndex="8">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="W/End" FieldName="weekend" 
                        VisibleIndex="9">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Created" FieldName="active_date" 
                        VisibleIndex="10">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Status" FieldName="stt_display_order" 
                        VisibleIndex="11">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Special" VisibleIndex="12">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Comments" FieldName="comments" 
                        VisibleIndex="13">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Edit" VisibleIndex="14">
                    </dxwgv:GridViewDataTextColumn>
                </Columns>                                             
            </dxwgv:ASPxGridView>

我沒有完整的答案,但是希望可以向正確的方向發送信息。

我認為您可以通過將DevExpress GridView與jQuery結合使用來模仿無休止滾動的行為,但這會需要一些努力。 您可以使用GridView定義一個可滾動的div,然后讓jQuery檢測您是否滾動到底部附近。 請參閱: 檢查用戶是否已滾動到底部

如果觸發了jQuery事件,則可以在ASPxGridView上執行自定義回調,請選擇幾個額外的行並將它們綁定到網格。

升級DevExpress許可證或使用默認分頁可能容易得多:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM