标题:请听题:如何在datagrid控件中分页显示?
只看楼主
criser
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-9-29
 问题点数:0 回复次数:6 
请听题:如何在datagrid控件中分页显示?
请听题:如何在datagrid控件中分页显示?
搜索更多相关主题的帖子: datagrid控件 中分 
2005-10-06 00:12
zmjls
Rank: 1
等 级:新手上路
帖 子:377
专家分:0
注 册:2005-9-30
得分:0 
给你一个功能不错的datagrid控件中分页显示的例子!! <%@ Page language="c#" EnableViewState = "true" Codebehind="DataGridPaging.aspx.cs" AutoEventWireup="false" Inherits="eMeng.Exam.DataGridPaging.DataGridPaging" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><meta content="Visual Basic 7.0" name="CODE_LANGUAGE"><meta content="JavaScript" name="vs_defaultClientScript"><meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"></HEAD><body MS_POSITIONING="GridLayout"><form id="Form1" runat="server"><asp:datagrid id="MyDataGrid" runat="server" AutoGenerateColumns="False" HorizontalAlign="Center" AlternatingItemStyle-BackColor="#eeeeee" HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana" CellSpacing="0" CellPadding="3" GridLines="Both" BorderWidth="1" BorderColor="black" OnPageIndexChanged="MyDataGrid_Page" PagerStyle-HorizontalAlign="Right" PagerStyle-Mode="NumericPages" PageSize="5" AllowPaging="True"> <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle> <HeaderStyle BackColor="#AAAADD" Font-Bold="True" HorizontalAlign="Center"></HeaderStyle> <PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle> <Columns> <asp:BoundColumn HeaderText="标题" DataField="Title" HeaderStyle-Width="480px"> </asp:BoundColumn> <asp:BoundColumn HeaderText="发表日期" DataField="CreateDate" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}"> </asp:BoundColumn> </Columns></asp:datagrid><p style="FONT-SIZE:9pt" align="center"> <asp:label id="lblPageCount" runat="server"></asp:label>  <asp:label id="lblCurrentIndex" runat="server"></asp:label> <asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server" Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="0"></asp:linkbutton>  <asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server" Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="prev"></asp:linkbutton>  <asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server" Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="next"></asp:linkbutton>  <asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server" Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="last"></asp:linkbutton></p></form></body></HTML>using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace eMeng.Exam.DataGridPaging{/// <summary>/// DataGridPaging 的摘要说明。/// </summary>public class DataGridPaging : System.Web.UI.Page{ protected System.Web.UI.WebControls.DataGrid MyDataGrid; protected System.Web.UI.WebControls.Label lblPageCount; protected System.Web.UI.WebControls.Label lblCurrentIndex; protected System.Web.UI.WebControls.LinkButton btnFirst; protected System.Web.UI.WebControls.LinkButton btnPrev; protected System.Web.UI.WebControls.LinkButton btnNext; protected System.Web.UI.WebControls.LinkButton btnLast; private OleDbConnection cn = new OleDbConnection();private void Page_Load(object sender, System.EventArgs e){ // 在此处放置用户代码以初始化页面 btnFirst.Text = "最首页"; btnPrev.Text = "前一页"; btnNext.Text = "下一页"; btnLast.Text = "最后页"; OpenDatabase(); BindGrid();}private void OpenDatabase(){ cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("xxxx.mdb"); cn.Open();}private void ShowStats(){ lblCurrentIndex.Text = "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页"; lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " 页";}public void PagerButtonClick(object sender, EventArgs e){ string arg = ((LinkButton)sender).CommandArgument.ToString(); switch(arg) { case "next": if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) { MyDataGrid.CurrentPageIndex += 1; } break; case "prev": if (MyDataGrid.CurrentPageIndex > 0) { MyDataGrid.CurrentPageIndex -= 1; } break; case "last": MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1); break; default: MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg); break; } BindGrid(); ShowStats();}public void BindGrid(){ OleDbConnection myConnection = cn; DataSet ds = new DataSet(); OleDbDataAdapter adapter = new OleDbDataAdapter("Select Title,CreateDate from Document", myConnection); adapter.Fill(ds, "Document"); MyDataGrid.DataSource = ds.Tables["Document"].DefaultView; MyDataGrid.DataBind(); ShowStats();}public void MyDataGrid_Page(object sender, DataGridPageChangedEventArgs e){ int startIndex ; startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize; MyDataGrid.CurrentPageIndex = e.NewPageIndex; BindGrid(); ShowStats();}#region Web Form Designer generated codeoverride protected void OnInit(EventArgs e){//// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}/// <summary>/// 设计器支持所需的方法 - 不要使用代码编辑器修改/// 此方法的内容。/// </summary>private void InitializeComponent(){this.Load += new System.EventHandler(this.Page_Load);}#endregion}}

对ASP、.NET、SQL情有独钟的情圣王子! 俺目标:睡觉睡到自然醒数钱数到手抽筋!
2005-10-06 10:17
zgy0209zgy
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-8-15
得分:0 
看不懂
写点c#中的,别老是说asp中的嘛
2005-10-06 12:13
criser
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-9-29
得分:0 
谢谢,不过我想要winform中的实现方法,可否告之,
2005-10-06 12:25
smiles
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2005-8-8
得分:0 
datagrid属性生成器中应该有自带的分页功能,想更好的分页到网上搜个分页
控件

2005-10-08 10:23
lhq22
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-4-27
得分:0 
我也想要一个分页的程序源码!

2007-04-29 16:25
qixingjie
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-4-14
得分:0 
在Page_load里面添加如下代码:
if (!this.IsPostBack)
{
this.BindToDataGrid();
}
在Page_load外面添加如下:
//将数据邦定在DataGrid上
private void BindToDataGrid()
{
SqlConnection con=DB.createConnection();
SqlDataAdapter sda=new SqlDataAdapter();
sda.SelectCommand=new SqlCommand("select * from Smailinfo",con);
DataSet DS=new DataSet();
sda.Fill(DS,"emp");
this.DataGrid1.DataSource=DS.Tables["emp"];
this.DataGrid1.DataBind();
}

//在DataGrid事件中双击"PageIndexChanged"事件,添加如下代码,实现DataGrid中的分页
private void DataGrid1_PageIndexChange(object source,System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
this.DataGrid1.CurrentPageIndex=e.NewPageIndex;
this.BindToDataGrid();
}

2007-05-15 17:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-29379-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.215200 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved