Thư Viện Chia Sẻ Kiến Thức Trang Chủ
Diễn đàn  -  Asp.net  -  Mã nguồn  -  Software  -  Rao vặt  -  Việc làm  -  Games  -  Chộm Avata  -  Music  -  PHOTOSHOP ONLINE

chup anh dam sen | How to get rid of cellulite on thighs and back of legs fastest ? | Dịch vụ Thiết kế website| Diễn đàn rao vặt miễn phí | dich vu seo | Dịch vụ Seo từ khóa | nao thai | bigc | vatgia | mua ban | Game vui nhon | H8VN HAPPY8 http://www.happy8.biz/ | Bảng giá cước taxi nội bài mới nhất

-:-[ DIỄN ĐÀN CHIA SẺ ]-:- -:-[ DIỄN ĐÀN CHIA SẺ ]-:- > XÂY DỰNG VÀ PHÁT TRIỂN WEBSITE > ASP/ASP.NET
  Chủ đề mới Chủ đề mới
  FAQ FAQ  Tìm Kiếm Trên Diễn Đàn   Lịch sự kiện   Đăng Ký Đăng Ký  Đăng Nhập Đăng Nhập

Phân trang asp.net

 Gửi trả lời Gửi trả lời
Tác Giả
Nội dung
  Chủ Đề Tìm Kiếm Chủ Đề Tìm Kiếm  Hỗ trợ Hỗ trợ
thanhtuyen Xem Kiểu Thả Xuống
Administrator
Administrator
Hình đại diện
Thành viên thứ: 1
Tham Gia: 02/Jan/2007
Đến Từ: Hưng Yên
Trạng thái:
Bài viết: 365
Được cảm ơn: 114 lần trong 42 bài viết
Level: 18

Life

Magic

Experience

  Trích dẫn thanhtuyen Trích dẫn  Gửi trả lờiTrả lời Chuyển liên kết đến bài viết này Chủ Đề: Phân trang asp.net
    Ngày viết: 11/Aug/2010 lúc 17:30
Chia sẻ với tất cả các bạn Code phân trang đơn giản, kiểu phân trang của Google.
 
Phân%20trang%20giống%20Google
 
Source html:
 

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Paging.aspx.vb" Inherits="Paging" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

</head>

<body>

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

<div>

<table width="100%">

<tr>

<td align="center">

<strong>Data List Custom Paging</strong></td>

</tr>

<tr>

<td align="left">

<asp:DataList runat="server" ID="dListItems" CellPadding="2">

<ItemTemplate>

<%#Eval("title") %>

</ItemTemplate>

<AlternatingItemStyle BackColor="Silver" />

<ItemStyle BackColor="White" />

</asp:DataList>

</td>

</tr>

<tr>

<td>

&nbsp;

</td>

</tr>

<tr>

<td>

<table cellpadding="0" border="0">

<tr>

<td align="right">

<asp:LinkButton ID="lbtnFirst" runat="server" CausesValidation="false" OnClick="lbtnFirst_Click">First</asp:LinkButton>

&nbsp;</td>

<td align="right">

<asp:LinkButton ID="lbtLai" runat="server">Previous</asp:LinkButton>

&nbsp;&nbsp;</td>

<td align="center" valign="middle">

<asp:DataList ID="dlPaging" runat="server" RepeatDirection="Horizontal" OnItemCommand="dlPaging_ItemCommand"

OnItemDataBound="dlPaging_ItemDataBound">

<ItemTemplate>

<asp:LinkButton ID="lnkbtnPaging" runat="server" CommandArgument='<%# Eval("PageIndex") %>'

CommandName="Paging" Text='<%# Eval("PageText") %>'></asp:LinkButton>&nbsp;

</ItemTemplate>

</asp:DataList>

</td>

<td align="left">

&nbsp;<asp:LinkButton ID="lbtTiep" runat="server">Next</asp:LinkButton>

</td>

<td align="left">

&nbsp;

<asp:LinkButton ID="lbtnLast" runat="server" CausesValidation="false" OnClick="lbtnLast_Click">Last</asp:LinkButton></td>

</tr>

<tr>

<td colspan="5" align="center" style="height: 30px" valign="middle">

<asp:Label ID="lblPageInfo" runat="server"></asp:Label></td>

</tr>

</table>

</td>

</tr>

</table>

</div>

</form>

</body>

</html>

 
 
--------------------------------------------------------------------------
 
 
Code:
 

Imports System

Imports System.Data

Imports System.Configuration

Imports System.Web

Imports System.Web.Security

Imports System.Web.UI

Imports System.Web.UI.WebControls

Imports System.Web.UI.WebControls.WebParts

Imports System.Web.UI.HtmlControls

Partial Class Paging

Inherits System.Web.UI.Page

#Region "Private Properties"

Private Property CurrentPage() As Integer

Get

Dim objPage As Object = ViewState("_CurrentPage")

Dim _CurrentPage As Integer = 0

If objPage Is Nothing Then

_CurrentPage = 0

Else

_CurrentPage = CType(objPage, Integer)

End If

Return _CurrentPage

End Get

Set(ByVal Value As Integer)

ViewState("_CurrentPage") = Value

End Set

End Property

Private Property fistIndex() As Integer

Get

Dim _FirstIndex As Integer = 0

If ViewState("_FirstIndex") Is Nothing Then

_FirstIndex = 0

Else

_FirstIndex = Convert.ToInt32(ViewState("_FirstIndex"))

End If

Return _FirstIndex

End Get

Set(ByVal Value As Integer)

ViewState("_FirstIndex") = Value

End Set

End Property

Private Property lastIndex() As Integer

Get

Dim _LastIndex As Integer = 0

If ViewState("_LastIndex") Is Nothing Then

_LastIndex = 0

Else

_LastIndex = Convert.ToInt32(ViewState("_LastIndex"))

End If

Return _LastIndex

End Get

Set(ByVal Value As Integer)

ViewState("_LastIndex") = Value

End Set

End Property

#End Region

#Region "PagedDataSource"

Dim _PageDataSource As PagedDataSource = New PagedDataSource()

#End Region

#Region "Private Methods"

'/ <summary>

'/ Build DataTable to bind Main Items List

'/ </summary>

'/ <returns>DataTable</returns>

Private Function GetDataTable() As DataTable

Dim dtItems As DataTable = New DataTable()

Dim dcName As DataColumn = New DataColumn()

dcName.ColumnName = "title"

dcName.DataType = System.Type.GetType("System.String")

dtItems.Columns.Add(dcName)

Dim row As DataRow

Dim i As Integer

For i = 1 To 80 Step i + 1

row = dtItems.NewRow()

row("title") = "Sample Row:&nbsp;I am putting here sample text for row " & i

dtItems.Rows.Add(row)

Next

Return dtItems

End Function

'/ <summary>

'/ Binding Main Items List

'/ </summary>

Private Sub BindItemsList()

Dim dataTable As DataTable = Me.GetDataTable()

_PageDataSource.DataSource = dataTable.DefaultView

_PageDataSource.AllowPaging = True

_PageDataSource.PageSize = 10

_PageDataSource.CurrentPageIndex = CurrentPage

ViewState("TotalPages") = _PageDataSource.PageCount

Me.lblPageInfo.Text = "Page " & (CurrentPage + 1) & " of " & _PageDataSource.PageCount

Me.lbtLai.Enabled = Not _PageDataSource.IsFirstPage

Me.lbtTiep.Enabled = Not _PageDataSource.IsLastPage

Me.lbtnFirst.Enabled = Not _PageDataSource.IsFirstPage

Me.lbtnLast.Enabled = Not _PageDataSource.IsLastPage

Me.dListItems.DataSource = _PageDataSource

Me.dListItems.DataBind()

Me.doPaging()

End Sub

'/ <summary>

'/ Binding Paging List

'/ </summary>

Private Sub doPaging()

Dim dt As DataTable = New DataTable()

dt.Columns.Add("PageIndex")

dt.Columns.Add("PageText")

fistIndex = CurrentPage - 5

If CurrentPage > 5 Then

lastIndex = CurrentPage + 5

Else

lastIndex = 10

End If

If lastIndex > Convert.ToInt32(ViewState("TotalPages")) Then

lastIndex = Convert.ToInt32(ViewState("TotalPages"))

fistIndex = lastIndex - 10

End If

If fistIndex < 0 Then

fistIndex = 0

End If

Dim i As Integer

For i = fistIndex To lastIndex - 1 Step i + 1

Dim dr As DataRow = dt.NewRow()

dr(0) = i

dr(1) = i + 1

dt.Rows.Add(dr)

Next

Me.dlPaging.DataSource = dt

Me.dlPaging.DataBind()

End Sub

#End Region

Protected Sub Page_PreLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreLoad

If Not IsPostBack Then

Me.BindItemsList()

End If

End Sub

Protected Sub dlPaging_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles dlPaging.ItemCommand

If e.CommandName.Equals("Paging") Then

CurrentPage = Convert.ToInt16(e.CommandArgument.ToString())

Me.BindItemsList()

End If

End Sub

Protected Sub dlPaging_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dlPaging.ItemDataBound

Dim lnkbtnPage As LinkButton = CType(e.Item.FindControl("lnkbtnPaging"), LinkButton)

If lnkbtnPage.CommandArgument.ToString() = CurrentPage.ToString() Then

lnkbtnPage.Enabled = False

lnkbtnPage.Style.Add("fone-size", "14px")

lnkbtnPage.Font.Bold = True

End If

End Sub

Protected Sub lbtnLast_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtnLast.Click

CurrentPage = (Convert.ToInt32(ViewState("TotalPages")) - 1)

Me.BindItemsList()

End Sub

Protected Sub lbtnFirst_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtnFirst.Click

CurrentPage = 0

Me.BindItemsList()

End Sub

Protected Sub lbtTiep_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtTiep.Click

CurrentPage += 1

Me.BindItemsList()

End Sub

Protected Sub lbtLai_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtLai.Click

CurrentPage -= 1

Me.BindItemsList()

End Sub

End Class

Chúc các bạn thành công!
******* Hãy cùng chia sẻ với bạn bè bằng cách *******
Copy đường link dưới đây, để gửi đến cho bạn bè xem bài viết này !
Lên trên
trantuyen123 Xem Kiểu Thả Xuống
Thành Viên Mới
Thành Viên Mới
Hình đại diện
Thành viên thứ: 33352
Tham Gia: 20/Aug/2010
Trạng thái:
Bài viết: 4

Level: 1

Life

Magic

Experience

  Trích dẫn trantuyen123 Trích dẫn  Gửi trả lờiTrả lời Chuyển liên kết đến bài viết này Ngày viết: 20/Aug/2010 lúc 19:12
bạn làm hẳn project rồi cho anh em down về thì dễ hiểu hơn. với lại mình chỉ biết c# và đang theo C# chứ không biết vn. bạn code C# đi
toni-tuyen
0973761209
Lên trên
duythangs Xem Kiểu Thả Xuống
Thành Viên Mới
Thành Viên Mới
Hình đại diện
Thành viên thứ: 39468
Tham Gia: 16/Jan/2011
Đến Từ: Hà Nội
Trạng thái:
Bài viết: 2

Level: 1

Life

Magic

Experience

  Trích dẫn duythangs Trích dẫn  Gửi trả lờiTrả lời Chuyển liên kết đến bài viết này Ngày viết: 16/Jan/2011 lúc 17:42
code bằng VB mà hiz khó hiểu quá
Lên trên
ỉncon Xem Kiểu Thả Xuống
Thành Viên Mới
Thành Viên Mới
Thành viên thứ: 43566
Tham Gia: 14/May/2011
Đến Từ: hungyen
Trạng thái:
Bài viết: 1

Level: 1

Life

Magic

Experience

  Trích dẫn ỉncon Trích dẫn  Gửi trả lờiTrả lời Chuyển liên kết đến bài viết này Ngày viết: 14/May/2011 lúc 23:08
chào các bạn!
ai có video hướng dẫn lập trình datalist k? mình đang làm website mà k có tài liệu thầy mình bảo học làm trên asp.net. ai biết chỉ giúp mình với ,thank mọi người nhé
hương
Lên trên
 Gửi trả lời Gửi trả lời

Số thành viên hiện tại đang xem chủ đề: 1 (Thành viên: 1, Khách: 1)
Thành viên:

Di Chuyển Nhanh Tôi có thể làm gì trong diễn đàn ? Xem Kiểu Thả Xuống

Điều hành: HOÀNG THANH TUYẾN
Điện thoại: 0987.838.199 - Email: info@phanmemtracnghiem.com
Website đang trong thời gian hoạt động thử nghiệm