您的位置:首页 > 编程语言

分页的页面代码和后台代码

2008-08-02 20:51 344 查看
using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Data.SqlClient;

public partial class Default2 : System.Web.UI.Page

{

//每页显示的最多记录的条数

private int pageViewCount = 10;

//当前页号

private int currentPageNumber;

//显示数据的总条数

private static int rowCount;

//总页数

private static int pageCount;

//进行自动编号和鼠标移动显示颜色

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

GetAllRows();

GridView1.DataSource = GetData("成都", 1, 10);

GridView1.DataBind();

pageCount = (rowCount - 1) / pageViewCount + 1;

currentPageNumber = 1;

ViewState["currentPageNumber"] = currentPageNumber;//当前页存储在viewstate中

lbtnPrevious.Enabled = false;

lbtnFirst.Enabled = false;

for (int i = 1; i <= pageCount; i++)

{

dropPage.Items.Add(new ListItem(i.ToString(), i.ToString()));

}

dropPage.SelectedValue = dropPage.Items.FindByValue(currentPageNumber.ToString()).Value;

}

}

public DataSet GetData(string SeacherContent,int pageNow,int pageCount)

{

SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["sqlstring"].ToString());

SqlCommand cmd = new SqlCommand("swort.GetNewsByPage", cn);

//cmd.CommandType = CommandType.StoredProcedure;

//SqlParameter parm = new SqlParameter("@title", SqlDbType.VarChar, 200);

//string search = "北京";

//parm.Value = search;

//cmd.Parameters.Add(parm);

cn.Open();

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add("@title", SqlDbType.VarChar, 200);

cmd.Parameters["@title"].Value = SeacherContent;

cmd.Parameters.Add("@pageviewcount", SqlDbType.Int);

cmd.Parameters["@pageviewcount"].Value = pageCount;

cmd.Parameters.Add("@pagesize", SqlDbType.Int);

cmd.Parameters["@pagesize"].Value = pageNow;

SqlDataAdapter sda = new SqlDataAdapter(cmd);

cmd.ExecuteNonQuery();

DataSet ds=new DataSet ();

sda.Fill(ds);

cn.Close();

return ds;

}

private static void GetAllRows()

{

SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["sqlstring"].ToString());

SqlCommand cmd = new SqlCommand("swort.GetNewsCount", cn);

//cmd.CommandType = CommandType.StoredProcedure;

//SqlParameter parm = new SqlParameter("@title", SqlDbType.VarChar, 200);

//string search = "北京";

//parm.Value = search;

//cmd.Parameters.Add(parm);

cmd.CommandType = CommandType.StoredProcedure;

cn.Open();

cmd.Parameters.Add("@title", SqlDbType.VarChar, 200);

string search = "成都";

cmd.Parameters["@title"].Value = search;

rowCount = (int)cmd.ExecuteScalar();//总条数

cn.Close();

}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

if (e.Row.RowType ==DataControlRowType.DataRow)

{

//鼠标经过时,行背景色变

e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#E6F5FA'");

//鼠标移出时,行背景色变

e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'");

if (e.Row.RowIndex != -1)

{

int id = e.Row.RowIndex + 1;

e.Row.Cells[0].Text = id.ToString();

}

}

}

//进行按纽的控制 以及对事件的触发

protected void lbtnPage_Command(object sender, CommandEventArgs e)

{

switch (e.CommandName)

{

case "First":

currentPageNumber = 1;

break;

case "Previous":

currentPageNumber = (int)ViewState["currentPageNumber"] - 1 > 1 ? (int)ViewState["currentPageNumber"] - 1 : 1;

break;

case "Next":

currentPageNumber = (int)ViewState["currentPageNumber"] + 1 < pageCount ? (int)ViewState["currentPageNumber"] + 1 : pageCount;

break;

case "Last":

currentPageNumber = pageCount;

break;

}

dropPage.SelectedValue = dropPage.Items.FindByValue(currentPageNumber.ToString()).Value;

ViewState["currentPageNumber"] = currentPageNumber;

SetButton(currentPageNumber);

GridView1.DataSource= GetData("成都", currentPageNumber, pageViewCount);

GridView1.DataBind();

}

//设置按纽的可用否

private void SetButton(int currentPageNumber)

{

lbtnFirst.Enabled = currentPageNumber != 1;

lbtnPrevious.Enabled = currentPageNumber != 1;

lbtnNext.Enabled = currentPageNumber != pageCount;

lbtnLast.Enabled = currentPageNumber != pageCount;

}

//设置按纽的可用否

protected void dropPage_SelectedIndexChanged(object sender, EventArgs e)

{

currentPageNumber = int.Parse(dropPage.SelectedValue);

ViewState["currentPageNumber"] = currentPageNumber;

SetButton(currentPageNumber);

GridView1.DataSource = GetData("成都", currentPageNumber, pageViewCount);

GridView1.DataBind();

}

}

经济

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!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>

<asp:LinkButton ID="lbtnFirst" runat="server" CommandName="First" OnCommand="lbtnPage_Command">|<</asp:LinkButton>

<asp:LinkButton ID="lbtnPrevious" runat="server" CommandName="Previous" OnCommand="lbtnPage_Command"><<</asp:LinkButton>

<asp:Label ID="lblMessage" runat="server" />

<asp:LinkButton ID="lbtnNext" runat="server" CommandName="Next" OnCommand="lbtnPage_Command">>></asp:LinkButton>

<asp:LinkButton ID="lbtnLast" runat="server" CommandName="Last" OnCommand="lbtnPage_Command">>|</asp:LinkButton>

转到第<asp:DropDownList ID="dropPage" runat="server" AutoPostBack="True" OnSelectedIndexChanged="dropPage_SelectedIndexChanged">

</asp:DropDownList>



<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"

DataKeyNames="id" onrowdatabound="GridView1_RowDataBound" Width="587px"

>

<Columns>

<asp:BoundField DataField="id" HeaderText="编号" InsertVisible="False"

ReadOnly="True" />

<asp:BoundField DataField="title" HeaderText="标题" />

<asp:BoundField DataField="addtime" HeaderText="存储时间" />

</Columns>

</asp:GridView>

</div>

</form>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐