让DataList分页

DatList 默认情况下好像不支持分页,今天尝试了一下,也让DatList能分页。给象我一样的初学者参考,希望能起到举一反三的效果。
aspx代码:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>panboxian test page</title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:DataList ID="DataList1" runat="server">
            
<ItemTemplate>
                
<asp:Label ID="Label1" runat="server" Text="<%# bind('id') %>"></asp:Label><br />
                
<asp:Label ID="Label2" runat="server" Text="<%# bind('id') %>"></asp:Label><br />
                
<asp:Label ID="Label3" runat="server" Text="<%# bind('id') %>"></asp:Label>
            
</ItemTemplate>
        
</asp:DataList>
        
<asp:Label ID="lblPageCount" runat="server"></asp:Label><br />
    
</div>
        
&nbsp;
    
</form>
</body>
</html>

cs文件代码:

 

using System;
using System.Data;
using System.Collections.Generic;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
            DataSourcePage();
        }

    }

    
    
/// <summary>
    
/// 分页方法
    
/// </summary>

    protected void DataSourcePage()
    
{
        PagedDataSource pagedDataSource 
= new PagedDataSource();
        
int pageCount;
        
int CurPage;
        
string Linkpage = string.Empty;

        pagedDataSource.DataSource 
= Ilist_DataTable();
        pagedDataSource.AllowPaging 
= true;
        pagedDataSource.PageSize 
= 3;
        pageCount 
= pagedDataSource.PageCount;

        
for (int i = 0; i < pageCount; i++)
        
{
            Linkpage 
= Linkpage + "&nbsp;&nbsp;<a href='" + Request.CurrentExecutionFilePath + "?Page=" + i + "'><strong>" + i + "</strong></a>";
        }

        lblPageCount.Text 
= Linkpage;
        CurPage 
= Convert.ToInt32(Request.QueryString["Page"]);

        pagedDataSource.CurrentPageIndex 
= CurPage;

        DataList1.DataSource 
= pagedDataSource;
        DataList1.DataBind();
    }


    
/// <summary>
    
/// 数据源
    
/// </summary>
    
/// <returns></returns>

    private IList<Virvaltable> Ilist_DataTable()
    
{
        IList
<Virvaltable> list = new List<Virvaltable>();
        
for (int k = 0; k < 5; k++)
        
{
            
for (int i = 0; i < 3; i++)
            
{
                Virvaltable virvaltable 
= new Virvaltable();
                virvaltable.id 
= i.ToString() + k.ToString() + "  panboxian create";
                virvaltable.name 
= i.ToString() + k.ToString() + "  panboxian create";
                virvaltable.sex 
= i.ToString() + k.ToString() + "  panboxian create";
                list.Add(virvaltable);
            }

        }

        
return list;
    }

}


/// <summary>
/// 实体
/// </summary>

public class Virvaltable
{
    
private string _id;
    
private string _name;
    
private string _sex;

    
public Virvaltable()
    
{ }
    
    
public string id
    
{
        
get return _id; }
        
set { _id = value; }
    }


    
public string name
    
{
        
get return _name; }
        
set { _name = value; }
    }


    
public string sex
    
{
        
get return _sex; }
        
set { _sex = value; }
    }

}


posted @ 2007-11-07 12:13  baoyalv  阅读(528)  评论(0编辑  收藏  举报