Diễn đàn    ASP.NET & Sharepoint MOSS, WSS 2007    Phân trang trong aspnet

Thành viênTrả lời
aspnet

Lập trình không biên giới
608  bài
15-7-2008 21:27:36
Có 1 cách đơn giản là dùng thằng datagrid để phân trang, nhưng mà tui chưa thử bao giờ mà cũng chả biết nó chạy có ngon không.

Còn 1 cách khác nữa là dùng Data Adapter của dotnet như sau:

-------
SqlConnection connSql = new SqlConnection(strConn);
connSql.Open();
SqlCommand cmdSql = new SqlCommand(strSQL, connSql);
SqlDataAdapter daSql = new SqlDataAdapter(cmdSql);
daSql.Fill(ds, startRecord, page_size, "result");
connSql.Close();
 
madeinvietnam


1  bài
18-7-2008 17:13:49
Mấy cái phân trang kiểu đó chỉ dùng để phân trang dạng đơn giản và số lượng request gửi đến ít thôi, còn trong trường hợp số lượng request gửi đến lớn (khoảng 10.000 request một lúc) hoặc trong table có khoảng 100.000 bản ghi thôi thì paging cả ngày nó cũng không ra, do vậy nên viết các store đặt Paging trong Database luôn, xử lý rất nhanh, tuy nhiên code thì hơi loằng ngoằng 1 tí
 
aspnet

Lập trình không biên giới
608  bài
20-7-2008 22:53:36
bạn có thể nói qua và gửi thêm một ít code cho anh em tham khảo được không?
 
lifeme


1  bài
5-8-2008 15:26:20
Thấy ai cũng bảo là nên phân trang bằng cách viết store, chưa bao giờ mình làm thế cả. Bạn gì có thể hướng dẫn chi tiết kô..... Cám ơn nhiều!!!!!!!!!!!
 
haibanh


15  bài
5-8-2008 16:28:48
Đây tớ kiếm được đoạn này qua google

------------------------------------------
CREATE PROCEDURE sp_PagedItems
(
@Page int,
@RecsPerPage int
)
AS

-- We don't want to return the # of rows inserted
-- into our temporary table, so turn NOCOUNT ON
SET NOCOUNT ON


--Create a temporary table
CREATE TABLE #TempItems
(
ID int IDENTITY,
Name varchar(50),
Price currency
)


-- Insert the rows from tblItems into the temp. table
INSERT INTO #TempItems (Name, Price)
SELECT Name,Price FROM tblItem ORDER BY Price

-- Find out the first and last record we want
DECLARE @FirstRec int, @LastRec int
SELECT @FirstRec = (@Page - 1) * @RecsPerPage
SELECT @LastRec = (@Page * @RecsPerPage + 1)

-- Now, return the set of paged records, plus, an indiciation of we
-- have more records or not!
SELECT *,
MoreRecords =
(
SELECT COUNT(*)
FROM #TempItems TI
WHERE TI.ID >= @LastRec
)
FROM #TempItems
WHERE ID > @FirstRec AND ID < @LastRec


-- Turn NOCOUNT back OFF
SET NOCOUNT OFF

----------------------------------------

http://www.4guysfromrolla.com/webtech/062899-1.shtml
 
lyngochung


17  bài
2-1-2009 14:32:55
đọc loằng ngoằng quá. Nhưng dù sao vẫn cám ơn bác nhìu vì em đang cần đến cái này !
---
 
dotnetvn

dotnet.vn
74  bài
7-1-2009 19:56:4
loằng ngoằng à ?
---
 

Chủ đề gần đây :

Cùng loại :

Tên file Mô tả chi tiết Ngày
NWeb.zip (1) Module đơn giản Newsweb trên Dotnetnuke v10.x.x.x10/18/2025 8:08:11 AM
vspforum.zip (11) Ma nguon vspforum ngay xua4/18/2023 6:38:37 AM
pdfjs.rar (2) pdfjs 2017 : hiển thị tốt trên iphone 11, 12, 13 không lỗi, bản 2012 sẽ lỗi trên iphone6/21/2022 11:52:48 AM
pdfjs2.rar (2) Xem file pdf bằng viewer.hml cua pdfjs (thư viện chuẩn mozilla) 2012. https://mozilla.github.io/pdf.js/getting_started/#download có thể download bản prebuild tại đây6/21/2022 11:52:04 AM
runner.zip (0) using three.js, orbitcontrol to view an object move random on map. Di chuyển 1 đồ vật ngẫu nhiên trên bản đồ, sử dụng với demo nhân viên di chuyển trong văn phòng. Toàn js download về là chạy12/5/2019 5:55:14 PM
gmap.zip (1) google map + marker7/17/2019 2:25:05 PM
vinsmarthomeservice.zip (1) java post json to api, use AsyncTask, event listener7/9/2019 5:00:10 PM
fblogin.zip (0) Login facebook bang javascript SDK7/9/2019 9:16:37 AM
autocomplete-location.zip (2) autocomplete location geo from google place, html + js7/4/2019 4:37:55 PM
WebAPI.zip (8) api for android access db (v1.0.0)7/4/2019 9:14:17 AM