高分求asp.net中用gridview手动分页方法原码,邮箱地址[email protected]
解决方案 »
- 不包含适合于入口点的静态“Main”方法
- 求 能在vs2003中用的图标控件 ===========
- CSDN邮件激活如何弄60分请教
- 关于GridView数据源的问题.........!!!!!!!!!!!!!!!!
- 高手请进,如何控制用ASP.NET读取数据库文章标题的长度?
- ASP.NET AJAX 1.0 正式版的发布问题
- 如何在C#中用COM+实现事务处理
- 在vs2005中如何更改在dataview编辑状态的字段宽度?
- ■■如何实现过滤html标签,只保留文字/字母/标点符号 呢?
- VBCommenter 已经能输出的 XML 文件名称默认为 项目名称 + ".xml",为什么还不可以有智能提示?
- 高手帮帮忙,如何用户控件添加事件?
- 新手提问 ASP.NET 画图 基本没有积分 请大家帮帮??
你想用手动的也可以,代码如下:
for (int i = 0; i < ds.Tables["ExtensionList"].Rows.Count; i++)
{
if (gvview.PageIndex == 0)
{
if(i < index)
{
date = ds.Tables["ExtensionList"].Rows[i]["year"].ToString().Trim() + "年" + ds.Tables["ExtensionList"].Rows[i]["month"].ToString().Trim() + "月";
gvview.Rows[i].Cells[10].Text = date;
}
}
else
{
int count = gvview.PageIndex;
if(i==0)
{
i = index * count;
}
if (i < (index * (count + 1)))
{
date = ds.Tables["ExtensionList"].Rows[i]["year"].ToString().Trim() + "年" + ds.Tables["ExtensionList"].Rows[i]["month"].ToString().Trim() + "月";
gvview.Rows[num].Cells[10].Text = date;
num++;
}
else
{
num = 0;
}
}
}
}
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
using System.Data.SqlClient;
public partial class Default : System.Web.UI.Page
{
private DataSet dsGrid;
protected void Page_Load(object sender, EventArgs e)
{
//Button1.Attributes["onclick"] = "return slcNo_click();";
GridViewBind("");
}
//--------------为GridView绑定数据集中的相应字段------------------
private void GridViewBind(string Sqlsort)
{
try
{
String sendsGridtrSQL = "SELECT id,name,price,quantities,price*quantities as totleprice FROM order1" + Sqlsort;
String sendTableName = "order1";
LinkDataBase link = new LinkDataBase();
dsGrid = link.SelectDataBase(sendsGridtrSQL, sendTableName);
GridView1.DataSource = dsGrid.Tables["order1"].DefaultView;
GridView1.DataBind();
LblCurrentIndex.Text = "第 " + (GridView1.PageIndex + 1).ToString() + " 页";
LblPageCount.Text = "共 " + GridView1.PageCount.ToString() + " 页";
LblRecordCount.Text = "总共 " + dsGrid.Tables[0].Rows.Count.ToString() + " 条";
if (dsGrid.Tables[0].Rows.Count == 0)
{
btnFirst.Visible = false;
btnPrev.Visible = false;
btnNext.Visible = false;
btnLast.Visible = false;
LblCurrentIndex.Visible = false;
LblPageCount.Visible = false;
LblRecordCount.Visible = false;
}
else if (GridView1.PageCount == 1)
{
btnFirst.Visible = false;
btnPrev.Visible = false;
btnNext.Visible = false;
btnLast.Visible = false;
}
// 计算生成分页页码,分别为:"首 页" "上一页" "下一页" "尾 页"
btnFirst.CommandName = "1";
btnPrev.CommandName = (GridView1.PageIndex == 0 ? "1" : GridView1.PageIndex.ToString());
btnNext.CommandName = (GridView1.PageCount == 1 ? GridView1.PageCount.ToString() : (GridView1.PageIndex + 2).ToString());
btnLast.CommandName = GridView1.PageCount.ToString();
//
}
catch (Exception ex)
{
Response.Write("数据库错误,错误原因:" + ex.Message);
Response.End();
}
}
protected void PagerButtonClick(object sender, EventArgs e)
{
GridView1.PageIndex = Convert.ToInt32(((LinkButton)sender).CommandName) - 1;
GridViewBind("");
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Attributes["onmouseover"] = "ItemOver(this)";
}
//显示checkBox选择的项
protected void Button1_Click(object sender, EventArgs e)
{
string str = "";
string[] ckb = null;
str = Request.Form.Get("checkboxname");
ckb = str.Split(new char[] { ',' });
Response.Write("直接在页面中得到的值为:" + str + "<br>");
Response.Write("处理后存放在数组中,如下:<br>");
for (int i = 0; i < ckb.Length; i++)
{
Response.Write("ckb[" + i + "]的值为:" + ckb[i] + "<br>");
}
}
//GridView1排序
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string sql = "";
if (ViewState["SortDirection"] == null || ViewState["SortDirection"].ToString().CompareTo("") == 0)
{
ViewState["SortDirection"] = " desc";
}
else
ViewState["SortDirection"] = "";
sql = " order by " + e.SortExpression + ViewState["SortDirection"];
GridViewBind(sql);
}
//页脚合计设置
protected void GridView1_DataBound(object sender, EventArgs e)
{
GridViewRow footer = GridView1.FooterRow;
footer.Visible = true;
//footer.Cells[0].ColumnSpan = 6;
//footer.Cells[0].HorizontalAlign = HorizontalAlign.Right;
//footer.Cells.RemoveAt(2);
//footer.Cells.RemoveAt(1);
Int32 rowCount = dsGrid.Tables["order1"].Rows.Count;
Decimal total = 0.00M;
for (Int32 i = 0; i < rowCount; i++)
{
total = total + Decimal.Parse(getDataSetColumnValue(i));
}
footer.Cells[6].Text = "合计:¥" + total.ToString();
}
//取DataSet的某行某列的值
private String getDataSetColumnValue(int row)
{
String dsGridColumnValue;
dsGridColumnValue = dsGrid.Tables["order1"].Rows[row]["totleprice"].ToString();
return dsGridColumnValue;
}
}
{
private ImageButton imgbtn_Frist;
private ImageButton imgbtn_Prev;
private ImageButton imgbtn_Next;
private ImageButton imgbtn_Last;
private DropDownList ddl_Page;
private Label lbl_RecodeCount;
private Label lbl_PageCount;
private int _pageSize; private string _fistImageUrl;
private string _prevImageUrl;
private string _nextImageUrl;
private string _lastImageUrl;
private string _ddlPageCSS; private bool _notShowCount = false;
private static readonly object EventPageChange = new object();
public Pager()
{
FistImageUrl = "/images/firstpage.gif";
PrevImageUrl = "/images/uppage.gif";
NextImageUrl = "/images/nextpage.gif";
LastImageUrl = "/images/lastpage.gif";
DdlPageCSS = "page";
}
[Description("每页显示的纪录数"),DefaultValue("15")]
public virtual int PageSize
{
get
{
return _pageSize != 0 ? _pageSize : 15;
}
set
{
if (value == _pageSize)
return; _pageSize = value;
if (value > 0)
{
PageCount = (RecordCount % value == 0 ? RecordCount / value : RecordCount / value + 1);//计算总页数
}
}
} [Description("总纪录数"),DefaultValue("0")]
public virtual int RecordCount
{
get
{
EnsureChildControls();
return lbl_RecodeCount.Text.Trim() != "" ? int.Parse(lbl_RecodeCount.Text.Trim()) : 0;
}
set
{
if (value== RecordCount)
return; EnsureChildControls(); lbl_RecodeCount.Text = value.ToString();
if (value > 0)
{
PageCount = (value % PageSize == 0 ? value / PageSize : value / PageSize + 1);//计算总页数
}
}
} [Description("当前页码"),DefaultValue("0")]
public virtual int PageIndex
{
get
{
EnsureChildControls();
return ddl_Page.SelectedValue != "" ? int.Parse(ddl_Page.SelectedValue) : 0;
}
set
{
EnsureChildControls();
if (value >= PageCount)
value = PageCount - 1;
ddl_Page.SelectedValue = value.ToString();
}
} [Description("总页数"),DefaultValue("0")]
public virtual int PageCount
{
get
{
EnsureChildControls();
return lbl_PageCount.Text != "" ? int.Parse(lbl_PageCount.Text) : 0;
}
private set
{
if (PageCount == value) return;
EnsureChildControls(); lbl_PageCount.Text = value.ToString(); int pageindex = PageIndex;
ddl_Page.Items.Clear();
for (int i = 0; i < value; i++)
{
ddl_Page.Items.Add(new ListItem((i + 1).ToString(), i.ToString()));
}
PageIndex = pageindex;
}
}
public virtual bool NotShowCount
{
private get
{
return _notShowCount;
}
set
{
_notShowCount = value;
}
}
public virtual string FistImageUrl
{
get
{
return _fistImageUrl;
}
set
{
_fistImageUrl = value;
}
}
public virtual string PrevImageUrl
{
private get
{
return _prevImageUrl;
}
set
{
_prevImageUrl = value;
}
}
public virtual string NextImageUrl
{
private get
{
return _nextImageUrl;
}
set
{
_nextImageUrl = value;
}
}
public virtual string LastImageUrl
{
private get
{
return _lastImageUrl;
}
set
{
_lastImageUrl = value;
}
}
public virtual string DdlPageCSS
{
private get
{
return _ddlPageCSS;
}
set
{
_ddlPageCSS = value;
}
}
public event EventHandler PageChanged
{
add
{
Events.AddHandler(EventPageChange, value);
}
remove
{
Events.RemoveHandler(EventPageChange, value);
} }
protected void OnPageChanged(EventArgs e)
{
EventHandler handler = (EventHandler)Events[EventPageChange];
if (handler != null)
{
handler(this, e);
}
}
#endregion protected override void RenderContents(HtmlTextWriter writer)
{
AddAttributesToRender(writer);
writer.Write(@"<div width=""100%"" align=""right"">");
writer.RenderBeginTag(HtmlTextWriterTag.Table);
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
imgbtn_Frist.RenderControl(writer);
writer.Write(" ");
imgbtn_Prev.RenderControl(writer);
writer.Write(" ");
writer.RenderEndTag();
writer.RenderBeginTag(HtmlTextWriterTag.Td);
ddl_Page.RenderControl(writer);
writer.RenderEndTag();
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write(" ");
imgbtn_Next.RenderControl(writer);
writer.Write(" ");
imgbtn_Last.RenderControl(writer);
if (!_notShowCount)
{
writer.RenderEndTag();
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write(" 页数:" + PageCount);
writer.Write(" 总数:" + RecordCount);
}
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
writer.Write(@"</div>");
}
protected override void CreateChildControls()
{
this.Controls.Clear();
imgbtn_Frist = new ImageButton();
imgbtn_Frist.ID = "imgbtn_Frist";
imgbtn_Frist.ImageUrl = FistImageUrl;
imgbtn_Frist.Click += new ImageClickEventHandler(imgbtn_Frist_Click); imgbtn_Prev = new ImageButton();
imgbtn_Prev.ID = "imgbtn_Pre";
imgbtn_Prev.ImageUrl = PrevImageUrl;
imgbtn_Prev.Click += new ImageClickEventHandler(imgbtn_Prev_Click); ddl_Page = new DropDownList();
ddl_Page.ID = "ddl_Page";
ddl_Page.CssClass = _ddlPageCSS;
ddl_Page.AutoPostBack = true;
ddl_Page.SelectedIndexChanged += new EventHandler(ddl_Page_SelectedIndexChanged); imgbtn_Next = new ImageButton();
imgbtn_Next.ID = "imgbtn_Next";
imgbtn_Next.ImageUrl =NextImageUrl;
imgbtn_Next.Click += new ImageClickEventHandler(imgbtn_Next_Click); imgbtn_Last = new ImageButton();
imgbtn_Last.ID = "imgbtn_Last";
imgbtn_Last.ImageUrl = LastImageUrl;
imgbtn_Last.Click += new ImageClickEventHandler(imgbtn_Last_Click); lbl_PageCount = new Label();
lbl_RecodeCount = new Label();
this.Controls.Add(imgbtn_Frist);
this.Controls.Add(imgbtn_Prev);
this.Controls.Add(ddl_Page);
this.Controls.Add(imgbtn_Next);
this.Controls.Add(imgbtn_Last);
this.Controls.Add(lbl_PageCount);
this.Controls.Add(lbl_RecodeCount);
base.CreateChildControls();
}
private void imgbtn_Frist_Click(object sender, EventArgs e) //第一页
{
if (PageIndex <= 0) return;
PageIndex =0;
OnPageChanged(EventArgs.Empty);
}
private void imgbtn_Prev_Click(object sender, EventArgs e) //上一页
{
if (PageIndex <= 0) return;
PageIndex = PageIndex -1;
OnPageChanged(EventArgs.Empty);
}
private void ddl_Page_SelectedIndexChanged(object sender, EventArgs e) //跳到N页
{
PageIndex = Convert.ToInt32(ddl_Page.SelectedValue);
OnPageChanged(EventArgs.Empty);
}
private void imgbtn_Next_Click(object sender, EventArgs e)
{
if (PageIndex >= PageCount - 1) return;
PageIndex = PageIndex+1;
OnPageChanged(EventArgs.Empty);
}
private void imgbtn_Last_Click(object sender, EventArgs e)
{
if (PageIndex >= PageCount - 1) return;
PageIndex = PageCount - 1;
OnPageChanged(EventArgs.Empty);
}
}
aspnetpager