2014-01-14 63 views
0

我想知道有什麼方法可以在ASPXGridview上實現無限滾動。我曾見過類似的東西(http://demos.devexpress.com/aspxgridviewdemos/PagingAndScrolling/EndlessPaging.aspx),但這不起作用,因爲我有一箇舊版本的DevExpress。ASP.Net中的無盡滾動(無限滾動)使用jQuery AJAX的ASPXGridView

我的網格包含大量的數據,所以我不希望它一次加載。

那麼這可以使用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> 

回答

1

我沒有一個完整的答案,但希望能送你在正確的方向。

我認爲你可以通過將DevExpress GridView和jQuery結合使用來模仿無限滾動的行爲,但這需要付出一些努力。 你可以用你的GridView定義一個可滾動的div,讓jQuery檢測你是否滾動到底部附近。 請參閱: Check if a user has scrolled to the bottom

如果jQuery的事件觸發,你可以做的ASPxGridView一個定製的回調,做一個選擇了一對額外的行,並將其綁定到您的網格。

升級DevExpress的許可或使用默認分頁可能是

+0

感謝您的幫助更容易:),我會嘗試這 – jeffry