2012-05-11 83 views
2

我想從數據庫中拉出100條記錄中的10條並放入gridview(這裏沒有數據源對象)。手動gridview分頁

我如何啓用gridview附帶的分頁?我知道總記錄是100我可以用它來激活分頁嗎?

我知道我可以用DataSource對象很容易地做到這一點,但只是想知道我是否可以完全手動地完成GridView。

標記

<form id="form1" runat="server"> 
<div> 

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
     AllowSorting="True" onpageindexchanging="GridView1_PageIndexChanging" 
     onsorting="GridView1_Sorting"> 
    </asp:GridView> 

</div> 
</form> 

代碼隱藏

protected void Page_Load(object sender, EventArgs e) 
{ 
    GridView1.DataSource = GetCustomers(); 
    GridView1.DataBind(); 
} 

強大的文本

+0

爲什麼不能在GridView使用內置分頁。爲GridView設置PageSize爲10,併爲數據源提取所有100條記錄 –

+2

,因爲在數據訪問時,我希望一次只抽取10條記錄 – Rod

+0

請看相關主題 - http://stackoverflow.com/questions/4966799/如何到添加分頁功能於數據列表,在-ASP網 – adatapost

回答

2

試試這個:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!Page.IsPostback) {BindData();} 
} 
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    GridView1.DataSource = GetCustomers(); 
    GridView1.PageIndex = e.NewPageIndex; 
    GridView1.DataBind(); 

} 

void BindData() 
{ 
    GridView1.DataSource = GetCustomers(); 
    GridView1.DataBind(); 

} 

你也需要把它添加到GridView的標記:

OnPageIndexChanging="GridView1_PageIndexChanging"