2012-08-01 63 views
0

我正在使用數據表將數據綁定到gridview.I想要允許分頁。我該如何做分頁? 這是我使用的代碼。數據表是否支持分頁或不分頁?

  SqlConnection con = new SqlConnection(getconnectionString()); 
      SqlCommand cmd = new SqlCommand("Sps_pagingshow", con); 
      con.Open(); 
      cmd.CommandType = CommandType.StoredProcedure; 
      //cmd.Parameters.AddWithValue("@PageIndex", pageIndex); 
      //cmd.Parameters.AddWithValue("@PageSize", int.Parse(ddlPageSize.SelectedValue)); 
      //cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 4); 
      //cmd.Parameters["@RecordCount"].Direction = ParameterDirection.Output; 

      IDataReader idr = cmd.ExecuteReader(); 
      GridView1.DataSource = idr; 
      GridView1.DataBind(); 
      idr.Close(); 
      con.Close(); 

回答

0

Datatable is disconnected architecture,所以它不支持分頁。

根據MSDN,通過將GridView自動尋呼僅支持數據源,或者用於實現ICollection接口或它的後代中的一個(即可枚舉,字典,列表,隊列,堆等)的對象

DataTable不符合其中任何一個計數,因此您懷疑DataTable不支持自動分頁是正確的。但是,正如您所瞭解的,您可以通過編程方式瀏覽DataTable。另一種方法是使用DataTable來填充支持分頁的集合。

0

使用GridView的「OnPageIndexChanging」事件來允許默認分頁。

protected void index_changing(object sender, GridViewPageEventArgs e) 
    { 
     gridview.PageIndex = e.NewPageIndex; 
    } 

謝謝。