2011-08-22 22 views
6

Tôi đang sử dụng PagedDataSource cho phân trang tùy chỉnh của chế độ xem lưới. Đây là mã:PagedDatasource để phân trang chế độ xem lưới

PagedDataSource dataSource = new PagedDataSource(); 

int virtualRowCount = Convert.ToInt32(dataset.Tables[1].Rows[0]["TotalRows"]); 
dataSource.AllowCustomPaging = true; 
dataSource.PageSize = 15; 

dataSource.VirtualCount = virtualRowCount; 
dataSource.DataSource = dataset.Tables[0].DefaultView; 


gvTaxPayerLoginDetail.DataSource = dataSource; 
gvTaxPayerLoginDetail.DataBind(); 

Tôi trả lại "totalrows" từ thủ tục lưu trữ của tôi (được đặt trong virtualRowCount) và các hàng thực tế trong tables[0] của tập dữ liệu. Tôi nhận được kết quả tuy nhiên máy nhắn tin của tôi đã biến mất. Máy nhắn tin không còn hiển thị nữa. Làm thế nào tôi có thể yêu cầu GridView nhận giá trị từ PagedDataSource?

Làm việc với ASP.Net 4

+0

xin vui lòng bạn có thể chấp nhận một câu trả lời về vấn đề này như tôi không nghĩ rằng bạn đang gonna xem nhiều movementon nó. – bUKaneer

Trả lời

3

ASP.NET 2.0+ Version

bài này ở đây http://www.codewrecks.com/blog/index.php/2008/02/09/aspnet-20-gridview-custom-sorting-with-pageddatasource/ mở rộng GridView tiêu chuẩn và cung cấp mã hệ thống ống nước để đạt được hội nhập PagedDataSource.

ASP.NET 4.5 Version

Đặt AllowPaging và AllowCustomPaging thuộc tính trên GridView cũng như Paged sở hữu nguồn dữ liệu?

PagedDataSource dataSource = new PagedDataSource(); 

int virtualRowCount = Convert.ToInt32(dataset.Tables[1].Rows[0]["TotalRows"]); 
dataSource.AllowCustomPaging = true; 
dataSource.PageSize = 15; 

dataSource.VirtualCount = virtualRowCount; 
dataSource.DataSource = dataset.Tables[0].DefaultView; 

gvTaxPayerLoginDetail.AllowPaging = true; // See this line here 
gvTaxPayerLoginDetail.AllowCustomPaging = true; // and this line here 
gvTaxPayerLoginDetail.DataSource = dataSource; 
gvTaxPayerLoginDetail.DataBind(); 

Ngoài ra bài này cũng có thể giúp đỡ http://www.byteblocks.com/post/2012/03/20/Use-Custom-Paging-in-Grid-View.aspx

+0

Điều đó chỉ hoạt động trong ASP 4.5 mate – Jupaol

+0

Rất tiếc, bạn đã bỏ lỡ nhận xét của mình về phiên bản khung! Tôi nghĩ rằng AllowPaging là hiện nay mặc dù? – bUKaneer

+0

Yeap, nhưng vì lý do nào đó, tài sản VirtualCount bị bỏ qua – Jupaol

1
PagedDataSource dataSource = new PagedDataSource(); 

int virtualRowCount = Convert.ToInt32(dataset.Tables[1].Rows[0]["TotalRows"]); 

dataSource.DataSource = dataset.Tables[0].DefaultView; 

dataSource.AllowCustomPaging = true; 
dataSource.PageSize = 15; 
dataSource.VirtualCount = virtualRowCount; 
dataSource.CurrentPageIndex =0; 

gvTaxPayerLoginDetail.DataSource = dataSource; 
gvTaxPayerLoginDetail.AllowPaging=True; 
gvTaxPayerLoginDetail.DataBind();