Thành viên | Nội dung |
lyngochung
17 bài
| Hi các bác, bác nào biết cách phân trang tren gridview dung store không giúp em với ? Em muốn phân trang theo như kiểu nhu phân trang cua website cua minh
Em duoc biet trong datagrid co thuoc tinh DataGrid.VirtualItemCount de tao danh sach cac trang ao, nhung trong Gridview thi khong co bac nao biet cach lam vay giup em voi
|
tieuphu
Thống chế Erich von Manstein 50 bài
| Phân trang như kiểu website mình có phải là phân trang kiểu stored đâu, tự viết đấy. Datagrid phân trang khó bỏ cha, có ai biết dùng đâu. Còn trong diễn đàn chỉ dùng 1 chức năng duy nhất của
SqlDataAdapter
đó là hàm Fill(DataSet, startRecord, countRecord, tableName);
Nếu trang có 20 bản ghi thì chúng ta sẽ làm
Fill(ds, 0, 20, "tbl");
tức là fill vào 20 bản ghi đầu vào bảng "tbl"
Còn muốn lấy trang 2 thì
Fill(ds, 20, 20, "tbl"); // trang 2 Fill(ds, 40, 20, "tbl"); // trang 3 Fill(ds, 60, 20, "tbl"); // trang 4 Fill(ds, 200, 20, "tbl"); // trang 21
Còn trong table mình xử lý thế nào thì tùy mình. Tự code đê, học được nhiều thứ đấy. Dừng dùng những thứ có sẵn của MS vừa khó tùy biến vừa tốc độ chậm. Nó chỉ làm lập trình viên mỗi ngày một lười hơn và ít chịu tìm hiểu hơn.
--- Miệt mài, miệt mài ... http://awas.vn
|
blackcafe107
16 bài
| Còn trong table mình xử lý thế nào thì tùy mình. Tự code đê, học được nhiều thứ đấy. Dừng dùng những thứ có sẵn của MS vừa khó tùy biến vừa tốc độ chậm. Nó chỉ làm lập trình viên mỗi ngày một lười hơn và ít chịu tìm hiểu hơn. --- Miệt mài, miệt mài ... http://awas.vn
Tự làm thì tốt & tăng level, Dùng lại của MS khó tùy biến thì đúng, nhưng tốc độ chậm thì chưa chắc lắm. ---
|
tieuphu
Thống chế Erich von Manstein 50 bài
|
Tự làm thì tốt & tăng level, Dùng lại của MS khó tùy biến thì đúng, nhưng tốc độ chậm thì chưa chắc lắm. ---
Chung chung quá, cụ thể bạn chỉ ra xem những gì có thể tối ưu tốc độ của asp.net ? --- Miệt mài, miệt mài ... http://awas.vn
|
cyber
4 bài
| Móc tốp píc nên nào. Hoặc là chập ở webserver hoặc là chậm ở data server. Đây là cách làm chậm ở data server. Những transper ít hơn.
Use AdventureWorks Go
–Change these two variable to parameters of your –actual stored procedure
Declare @PageNumber int Declare @PageSize int
–Assume we need page 6 i.e. records from 51-60 Select @PageNumber=6 Select @PageSize=10
–Select only those records which –fit into a single page Select Top(@PageSize) * from ( Select RowID=ROW_NUMBER() OVER (ORDER BY Name), ProductID,Name,ProductNumber,ListPrice, TotalRows=Count(*) OVER() –Count all records from Production.Product ) A Where A.RowId > ((@PageNumber-1)*@PageSize
Oái, đây là đang ở trong SharePoint. Thôi em cứ pót. Các bác dùng được thì dùng.
|
lyngochung
17 bài
| Hi, lâu rùi không ghé qua, cái này em đã làm được lâu rùi: đây là hàm phân trang em viết post lên cho các bác coi thử :D
public DataTable mPaging(int iPage, int iPagesize, string strFieldSelect, string strTableName, string strFieldOrderBy, string strUserdefine) { OracleConnection dbcon = new OracleConnection(conecctionstring); OracleDataAdapter ParAdapter = new OracleDataAdapter(); DataTable dt = new DataTable(); string strCondition = ""; OracleCommand dataCommand = dbcon.CreateCommand(); dbcon.Open(); int ab = (iPagesize * iPage - iPagesize + 1); int cd = (iPagesize * iPage); string mySQL = ""; mySQL = "SELECT * FROM (SELECT " + strFieldSelect + ",ROW_NUMBER() OVER (ORDER BY " + strFieldOrderBy + " ) R FROM " + "(SELECT * FROM " + strTableName + " WHERE " + strUserdefine+ "))" + "WHERE R >=" + ab.ToString() + " AND R <= " + cd.ToString(); ParAdapter.SelectCommand = new OracleCommand(mySQL, dbcon); ParAdapter.Fill(dt); dbcon.Close(); return dt; }
|
|