gridview控件可以不用编写代码完成分页功能(GridView不用分页控件,怎么分页啊)
本文目录
- GridView不用分页控件,怎么分页啊
- asp.net如何实现gridview控件进行分页并带有查询的代码
- 主从表显示从表的Gridview怎么实现分页
- gridview分页
- gridview控件可以不用编写代码完成分页功能
GridView不用分页控件,怎么分页啊
存储过程分页时,首先你要拿到Row_Number(),给你个参考例子:SELECT RO.* FROM (SELECT ROW_NUMBER() OVER (ORDER BY 1) AS ROW_NUM,RO1.* FROM (" + sqlAll + ")RO1 ) RO WHERE ROW_NUM》=:STARTLINENO AND ROW_NUM《=:ENDLINENO
asp.net如何实现gridview控件进行分页并带有查询的代码
.aspx文件中的代码(格式你自己调): 《asp:GridView ID="GridView1" runat="server"》 《/asp:GridView》《asp:LinkButton ID="lnkbtnFrist" runat="server" OnClick="lnkbtnFrist_Click"》首页《/asp:LinkButton》 《asp:LinkButton ID="lnkbtnPre" runat="server" OnClick="lnkbtnPre_Click"》上一页《/asp:LinkButton》 《asp:Label ID="lblCurrentPage" runat="server"》《/asp:Label》 《asp:LinkButton ID="lnkbtnNext" runat="server" OnClick="lnkbtnNext_Click"》下一页《/asp:LinkButton》 《asp:LinkButton ID="lnkbtnLast" runat="server" OnClick="lnkbtnLast_Click"》尾页《/asp:LinkButton》 跳转到第《asp:DropDownList ID="ddlCurrentPage" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"》 《/asp:DropDownList》页.aspx.cs文件中的代码: protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { this.GridView1.PageIndex = this.ddlCurrentPage.SelectedIndex; bind(); } protected void lnkbtnFrist_Click(object sender, EventArgs e) { this.GridView1.PageIndex = 0; bind(); } protected void lnkbtnPre_Click(object sender, EventArgs e) { if (this.GridView1.PageIndex 》 0) { this.GridView1.PageIndex = this.GridView1.PageIndex - 1; bind(); } } protected void lnkbtnNext_Click(object sender, EventArgs e) { if (this.GridView1.PageIndex 《 this.GridView1.PageCount) { this.GridView1.PageIndex = this.GridView1.PageIndex + 1; bind(); } } protected void lnkbtnLast_Click(object sender, EventArgs e) { this.GridView1.PageIndex = this.GridView1.PageCount; bind(); } public void bind() { GridView1.DataSource = getData(); GridView1.DataKeyNames = new string { "学号" }; GridView1.DataBind(); this.ddlCurrentPage.Items.Clear(); for (int i = 1; i 《= this.GridView1.PageCount; i++) { this.ddlCurrentPage.Items.Add(i.ToString()); } this.ddlCurrentPage.SelectedIndex = this.GridView1.PageIndex; } getdata()函数你能不能自己写?就是连接数据库,把查询出来的结果放到一个DataTable对象中,然后函数返回值就是这个DataTable对象。
主从表显示从表的Gridview怎么实现分页
比如 有userInfo 和bookInfo 两张表select * from userInfo inner join bookInfo on userInfo.id=bookInfo.idwhere userInfo.id between (PageNum-1)*PageSize and ((PageNum-1)*PageSize)+PageSize)PageNum 用户翻到的当前页PageSize 每页的最大行数(PageNum-1)*PageSize 一个算法,只是算出当前页的第一条数据((PageNum-1)*PageSize)+PageSize) 算出当前页的最后一条数据最好的办法是 用 RowNumber在数据库里分页 如果是对Gridview 的数据源 dataset分页也可以(不过这样不科学。。。)int beginPage=(PageNum-1)*PageSize; //翻页后的第一条数据int endPage=((PageNum-1)*PageSize)+PageSize); //翻页后的最后一条数据 for(int i=beginPage;i《endPage;i++){ 赋值给一个新的dataset}然后把新的dataset交给 Gridview
gridview分页
有自动的不用..《%@ Control Language="C#" AutoEventWireup="true" CodeFile="GvPageSet.ascx.cs" Inherits="Control_GvPageSet" %》《div style="text-align:right; width:100%;background-color:#c6d7ef"》《table cellpadding="0" cellspacing="0"》 《tr》 《td style="width: 200px; text-align: right"》 《asp:Label ID="Label1" runat="server" Text="当前页:"》《/asp:Label》《asp:Label ID="lblCurrentInfo" runat="server"》1《/asp:Label》 《asp:Label ID="Label2" runat="server" Text="共"》《/asp:Label》《asp:Label ID="lblCount" runat="server"》1《/asp:Label》《asp:Label ID="Label3" runat="server" Text="页"》《/asp:Label》《asp:Label ID="lblTotalNum" runat="server"》5《/asp:Label》《asp:Label ID="Label5" runat="server" Text="条"》《/asp:Label》 《/td》 《td style="width: 33px"》 《asp:LinkButton ID="lbtnFirst" runat="server" OnClick="PageIndex_Changed"》首页《/asp:LinkButton》《/td》 《td style="width: 50px"》 《asp:LinkButton ID="lbtnPrev" runat="server" OnClick="PageIndex_Changed"》上一页《/asp:LinkButton》《/td》 《td style="width: 50px"》 《asp:LinkButton ID="lbtnNext" runat="server" OnClick="PageIndex_Changed"》下一页《/asp:LinkButton》《/td》 《td style="width: 33px"》 《asp:LinkButton ID="lbtnLast" runat="server" OnClick="PageIndex_Changed"》末页《/asp:LinkButton》《/td》 《/tr》《/table》《/div》------------------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.ComponentModel;using System.Data.OleDb;public partial class Control_GvPageSet : System.Web.UI.UserControl{ #region Properties public string gvID { get { return (ViewState.ToString(); } set { ViewState = value; } } public int PageSize { get { return (ViewState); } set { ViewState = value; } } public string TableName { get { return (ViewState.ToString(); } set { ViewState = value; } } public string OrderBy { get { return (ViewState.ToString(); } set { ViewState = value; } } public string Sql { get { return (ViewState.ToString(); } set { ViewState = value; } } public string FilterString { get { return (ViewState.ToString(); } set { ViewState = value; } } public int CurrentInfo { get { return Convert.ToInt32(lblCurrentInfo.Text.Trim()); } } #endregion OleDbConnection conn = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings.ConnectionString); OleDbCommand comm = new OleDbCommand(); string sql = ""; protected override void OnInit(EventArgs e) { this.Visible = false; } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { //this.lbtnPrev.Enabled = false; //this.lblCurrentInfo.Text = "1"; } } /// 《summary》 /// 绑定GridView控件,供页面调用 /// 《/summary》 public void BindGridView() { GetPageNum(); //this.Visible = false; this.lbtnPrev.Enabled = false; this.lblCurrentInfo.Text = "1"; BindGV(); } /// 《summary》 /// 绑定GridView控件,供页面调用 /// 《/summary》 /// 《param name="currentInfo"》要显示的当前页《/param》 public void BindGridView(int currentInfo) { GetPageNum(); //this.Visible = false; this.lbtnPrev.Enabled = false; this.lblCurrentInfo.Text = currentInfo.ToString(); BindGV(); } /// 《summary》 /// 获取结果总数目和总页数 /// 《/summary》 /// 《returns》总页数《/returns》 public int GetPageNum() { sql = ""; sql += "select count(*) from ( "; sql += Sql; sql += FilterString + ") as a " ; comm.CommandText = sql; comm.Connection = conn; conn.Open(); int TotalNum = Convert.ToInt32(comm.ExecuteScalar()); conn.Close(); lblTotalNum.Text = TotalNum.ToString(); int pageNum = Convert.ToInt32(Math.Ceiling(Convert.ToDouble((double)TotalNum / PageSize))); lblCount.Text = pageNum.ToString(); return TotalNum; } #region 按钮处理事件 /**/ /// 《summary》 /// 按钮处理事件 /// 《/summary》 /// 《param name="sender"》《/param》 /// 《param name="e"》《/param》 public void PageIndex_Changed(object sender, EventArgs e) { LinkButton linkbtn = (LinkButton)sender; switch (linkbtn.ID.Trim()) { case "lbtnFirst": this.lblCurrentInfo.Text = "1"; BindGV(); break; case "lbtnPrev": this.lblCurrentInfo.Text = (Convert.ToInt32(this.lblCurrentInfo.Text) - 1).ToString();BindGV(); break; case "lbtnNext": this.lblCurrentInfo.Text = (Convert.ToInt32(this.lblCurrentInfo.Text) + 1).ToString(); BindGV(); break; case "lbtnLast": this.lblCurrentInfo.Text = this.lblCount.Text; BindGV(); break; } SetBtnState(); } private void SetBtnState() { if (Convert.ToInt32(this.lblCurrentInfo.Text) 》= Convert.ToInt32(this.lblCount.Text) && Convert.ToInt32(this.lblCurrentInfo.Text) 《= 1) { this.lbtnPrev.Enabled = false; this.lbtnNext.Enabled = false; this.lbtnFirst.Enabled = false; this.lbtnLast.Enabled = false; } else if (Convert.ToInt32(this.lblCurrentInfo.Text) 》= Convert.ToInt32(this.lblCount.Text)) { this.lbtnPrev.Enabled = true; this.lbtnNext.Enabled = false; this.lbtnFirst.Enabled = true; this.lbtnLast.Enabled = false; } else if (Convert.ToInt32(this.lblCurrentInfo.Text) 《= 1) { this.lbtnPrev.Enabled = false; this.lbtnNext.Enabled = true; this.lbtnFirst.Enabled = false; this.lbtnLast.Enabled = true; } else { this.lbtnPrev.Enabled = true; this.lbtnNext.Enabled = true; this.lbtnFirst.Enabled = true; this.lbtnLast.Enabled = true; } } #endregion /// 《summary》 /// 获取数据绑定GridView /// 《/summary》 private void BindGV() { int lower, upper; int currentPage = Convert.ToInt32(lblCurrentInfo.Text.Trim()); lower = (currentPage - 1) * PageSize; upper = lower + PageSize; DataTable dt = new DataTable(); sql = ""; sql += "select top " + PageSize.ToString() + " * from (" + Sql + FilterString + OrderBy + ") as a "; if(lower 》 0) sql += " where ID not in (select top " + lower.ToString() + " ID from (" + Sql + FilterString + OrderBy + ") as b)"; comm.CommandText = sql; comm.Connection = conn; OleDbDataAdapter da = new OleDbDataAdapter(comm); conn.Open(); da.Fill(dt); conn.Close(); if (dt.Rows.Count == 0) { this.Visible = false; } else { this.Visible = true; } GridView gv = (GridView)Page.FindControl(gvID); gv.DataSource = dt; gv.DataBind(); SetBtnState(); }}【拿不拿分不要紧,希望某些人不要昧着良心来骗分 骗分是小,误导所有关心这问题的人是大 我不是为了分而来,但最后很多人愿意把分给我!谢谢各位,让我成为上升最快达人!】
gridview控件可以不用编写代码完成分页功能
gridview控件可以不用编写代码完成分页功能。根据查询相关资料显示,数据绑定控件能绑定到数据源控件,利用数据源控件提供的数据实现包括排序、分页、更新、删除和插入等对数据的操作功能,也能通过编写代码实现。
更多文章:
内存管理器下载(大家晚上好,我的手机内存不足了我应该下载哪个软件清理好)
2024年5月5日 07:37
什么是标记语言(哪位大神能用一个通俗易懂的例子解释编程语言与标记语言之间的区别)
2024年7月3日 02:09
vrrp的基本配置命令(h3c路由器如何配置VRRP 最好有一个有图的实例 急求谢谢)
2024年7月24日 08:03
easyui datagrid自定义组件到列(easyui datagrid列设置checkbox,并能获取选中的值如图)
2024年8月5日 00:55
对话框区别于窗口的一个最显著一点是对话框可以(对话框与窗口有什么区别)
2024年7月3日 13:41
进入setup怎么恢复(thinkpadE545win7系统进入setup界面怎么恢复系统)
2024年7月5日 16:38
useful前用a还是用an(useful前面用an还是a)
2024年7月3日 16:53