logo

关于 一个功能齐全的DataGrid分页例子 的评论:

评论日期:2004年02月21日 00:00:00 评论人:ameng
我在showstatus方法中加了一点代码:

   if (MyDataGrid.CurrentPageIndex==0)
{
btnFirst.Enabled =false;
btnPrev.Enabled =false;
}
else
{
btnFirst.Enabled =true;
btnPrev.Enabled =true;

};

if (MyDataGrid.CurrentPageIndex==MyDataGrid.PageCount-1)
{
btnNext.Enabled =false;
btnLast.Enabled =false;
}
else
{
btnNext.Enabled =true;
btnLast.Enabled =true;
};

评论日期:2004年03月15日 00:00:00 评论人:
在一个page 类里打开一个 连接对象 是不是效率会很低啊?
评论日期:2004年03月31日 00:00:00 评论人:sukey00
 如果我想做个显示搜索结果分页的页面,怎么写啊
是不是加request
评论日期:2004年04月10日 00:00:00 评论人:
非常感谢孟子老大在csdn上对小弟的讲解.....
评论日期:2004年05月06日 00:00:00 评论人:从头再来
非常感谢!我已经成功完成了这个例子!
评论日期:2004年05月10日 00:00:00 评论人:初级攻略
将你的数据库提供下载多好啊。
评论日期:2004年05月12日 00:00:00 评论人:snashui
我出现这个错误怎么办啊?
分析器错误信息: 未能加载类型“eMeng.Exam.DataGridPaging2.DataGridPaging2”。
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573 
评论日期:2004年05月17日 00:00:00 评论人:fengwen
请问如何读取excel中的记录,并分页呢?
评论日期:2007年05月06日 00:00:00 评论人:浩
孟子大哥
关于自定义 能否变成以数据库某个字段属性来判断分页呢
而不是整齐的分页 每页固定显示多少行
评论日期:2004年06月22日 00:00:00 评论人:
孟子老大:你这个里面的音乐如何关掉啊
评论日期:2004年06月25日 00:00:00 评论人:yexiong
如果记录有10万那不是很慢,如果能用存储过程来做就好多了。
评论日期:2004年06月28日 00:00:00 评论人:dong
老大 
你给的这个功能很好,  
可是你能不能给一个datalist的分页功能啊
评论日期:2004年07月05日 00:00:00 评论人:ataman
但是这个例子上的记录总数在代码里没有实现吧?
我是这么实现的:
SqlCmd = select count(aaa) where bbb="ccc";//sql语句保证肯定有结果
conn.Open();
SqlCommand mycomm = new SqlCommand(SqlCmd,conn);
try
{

mycomm.ExecuteNonQuery();
SqlDataReader dr = mycomm.ExecuteReader();
lblAmount.Text = dr.GetInt32(0).ToString();
}
catch(Exception e)
{
string err = e.Message;
err = "";
}
但是这样总是会报错说:在没有数据的情况下进行无效的数据读取尝试。
评论日期:2004年07月05日 00:00:00 评论人:bzlj
你好,请问在第三页编辑一条数据保存后,怎么方便的定位到第三页,谢谢!
评论日期:2004年07月22日 00:00:00 评论人:david
我也出现这个错误
分析器错误信息: 未能加载类型“eMeng.Exam.DataGridPaging2.DataGridPaging2”。
评论日期:2004年07月22日 00:00:00 评论人:hunuliudan
考虑得很全面,我认为
评论日期:2004年07月28日 00:00:00 评论人:bulusi
请教孟子大哥,这句话:
  this.btnFirst.Click += new System.EventHandler(this.PagerButtonClick);
是什么意思?
+=在这里有什么作用?
谢谢
评论日期:2004年07月29日 00:00:00 评论人:jackie
我在使用vb版时,出现以下错误:请宪会帮助,谢谢:)

分析器错误信息: 未能加载类型“DataGridPaging”。

源错误: 


行 1:  <%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridPaging.aspx.vb" Inherits="DataGridPaging"%>
行 2:  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
行 3:  <HTML>
 

源文件: E:\www\asp.net\network\network\n_manager\DataGridPaging.aspx    行: 1 
评论日期:2004年08月02日 00:00:00 评论人:tony
bind datagrid data twice each time? 
评论日期:2004年08月05日 00:00:00 评论人:actu80
调出来了!效果很好!
评论日期:2004年08月09日 00:00:00 评论人:sy246
如果我一次都只想得到一页面的内容,而不是把所有数据都读过来的话我应该怎么做呢??等着急用!
评论日期:2004年08月13日 00:00:00 评论人:
太慢了啊 我还是用存储过程吧 受不了
评论日期:2004年08月25日 00:00:00 评论人:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

连接时(state=Open)不允许更改“ConnectionString”属性。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.InvalidOperationException: 连接时(state=Open)不允许更改“ConnectionString”属性。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[InvalidOperationException: 连接时(state=Open)不允许更改“ConnectionString”属性。]
   System.Data.OleDb.OleDbConnection.set_ConnectionString(String value) +61
   DataGridPaging.OpenDatabase() +59
   DataGridPaging.Page_Load(Object sender, EventArgs e) +90
   System.EventHandler.Invoke(Object sender, EventArgs e) +0
   System.Web.UI.Control.OnLoad(EventArgs e) +67
   System.Web.UI.Control.LoadRecursive() +35
   System.Web.UI.Page.ProcessRequestMain() +731

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573 
评论日期:2004年08月26日 00:00:00 评论人:
老大,请问这个问题是怎么回事呀
:
在用户界面->启动->文本框(A)  有 如下设置:
Edit1Property:DATASRC
Edit2Property:USERNAME
Eidt3Property:PASSWORD
并且EditXVisible:true
在自定义操作-->安装--->主输出来自DBSETUP(活动)有如下设置:
CustomActionData:/dbname=[datasrc]/user=[username]/pwd=[password]
为什么在类TestInstall中得不到它们的值呢
代码如下:
[RunInstaller(true)]
public class TestInstall : System.Configuration.Install.Installer
{
  。。。。。。。。。。。。。
   public override void Install(System.Collections.IDictionary stateSaver) 
   { 
base.Install(stateSaver); 
string dr=this.Context.Parameters["dbname"];
string us=this.Context.Parameters["user"];
string pwd=this.Context.Parameters["pwd"];
         。。。。。。
   }
}
评论日期:2007年04月18日 00:00:00 评论人:ssss
代码少了很多,分页不能用!!!!!!!!!!!!!!!!!!!!!!!!!!!!
评论日期:2004年09月01日 00:00:00 评论人:福星人
是啊,你的音乐怎么关掉!!!
评论日期:2004年09月04日 00:00:00 评论人:wzy
谢谢
评论日期:2004年09月08日 00:00:00 评论人:和
如果数据量很大的话就有问题了,这个和你以前的一个方法类似,都不是很全面,不过还是支持你
评论日期:2004年09月10日 00:00:00 评论人:wanya
我把数据库改成SQL SERVER 2000,结果显示用户ASPNET登录失败,到底是怎么回事啊?
评论日期:2004年09月20日 00:00:00 评论人:feona
孟老大:我想问问在刚登陆到你的这个网站时,在屏幕的右下边的播放音乐的小提示框是怎么作的,我不太清楚在webform下是怎么作,希望你能回复,多谢!
评论日期:2004年09月21日 00:00:00 评论人:bllyun
我怎么看着这么眼熟呢?好像Donny Mack 的书上写过哦,就是把english变成了汉语吧!呵呵
评论日期:2004年09月27日 00:00:00 评论人:love_c#
能不能提供一个带图片显示的分页实例(c#版的), 哎,无所谓版本,最好是datalist的
评论日期:2004年10月26日 00:00:00 评论人:superpc
能不能把DATAGRID的分页也就是显示页码的数字去掉。
只留下下面的分面。谢谢。
评论日期:2004年10月29日 00:00:00 评论人:
default:
   MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg);
   break;
这个不懂啊
还有阿,每次页面加载时都有两次绑定阿

评论日期:2006年12月31日 00:00:00 评论人:发射点
首页尾页还是不行
评论日期:2004年11月11日 00:00:00 评论人:我能做什么
我已经按照你的例子做出来了,为什么我把查询之后的数据用datagrid的显示的时候就出错呢,数据查询出来了,但是点击下一页的时候,显示的不是要查询的数据,而是初始化时候的数据,这是为什么,数据绑定有问题吗?
评论日期:2004年11月11日 00:00:00 评论人:TScom
孟大哥,用这个方法,我实现了,但在这个代码我看不出分页的实质,太笨了,可能。以前我是用的是临时表+top的方法取出要分页要显示的数据,但这个我不理解,能给我点指引?谢谢
评论日期:2004年11月12日 00:00:00 评论人:心蓝
孟大哥,请问我在用VB.NET版时,出现以下错误:
Server Error in '/' Application.
--------------------------------------------------------------------------------

Parser Error 
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 

Parser Error Message: Could not load type 'DataGridPaging'.

Source Error: 


Line 1:  <%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridPaging.aspx.vb" Inherits="DataGridPaging"%>
Line 2:  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Line 3:  <HTML>
 

Source File: e:\inetpub\wwwroot\study\jjxt\DataGridPaging.aspx    Line: 1

能不能帮帮忙,指点下!小弟不胜感激!!!
评论日期:2004年11月18日 00:00:00 评论人:jaj114
尊敬的孟子先生 本人对您的 “RSS 阅读器”很感兴趣 可否麻烦发给我一份 不胜感激!23114@23114.com
评论日期:2004年11月27日 00:00:00 评论人:请教
如果有几百条记录,用datagrid控件还可以吗??如果想添加一个textbox,在textbox中输入页数.就可以转到该页.那该如何操作??
评论日期:2004年12月27日 00:00:00 评论人:frostnet
分析器错误信息: 未能加载类型“DataGridPaging”。
源错误: 
行 1:  <%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridPaging.aspx.vb" Inherits="DataGridPaging"%>


 
评论日期:2005年01月20日 00:00:00 评论人:Webdiyer
用这个免费分页控件,实现这样的效果只有几行代码即可,而且可以通过url来分页,这样分页的页面也可以被搜索引擎搜索到:http://www.webdiyer.com
评论日期:2005年02月01日 00:00:00 评论人:
 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();
 }

孟大哥是不是以应该加一个myConnection.Close()
评论日期:2005年02月16日 00:00:00 评论人:MRJQ113
command是作用是按钮的单击事件,click是提交整个表单会服务器,还有一点就是command事件还可以传递参数commandname和CommandArgument.
不知道孟子老兄为什么用OnClick而不用OnCommand呢?
评论日期:2005年02月17日 00:00:00 评论人:jyk
www.jyklzz.net
评论日期:2005年02月22日 00:00:00 评论人:julian
這樣是讀取全部數據到內存,再進行分分頁! 

 那就是自定義跟用datagrid自帶的分野沒什麼區別了!!。沒有優勢阿。這樣分還有意思麽?
评论日期:2006年02月26日 00:00:00 评论人:readbook8
借孟子老大的地发个广告!想知道鲁迅笔下小说《骆驼祥子》中的祥子老婆--虎妞是怎样死的吗?---->>读书吧!!!http://www.readbook8.com
评论日期:2006年03月23日 00:00:00 评论人:
很好。
评论日期:2006年04月04日 00:00:00 评论人:hh
這樣是讀取全部數據到內存,再進行分分頁! 

 那就是自定義跟用datagrid自帶的分野沒什麼區別了!!。沒有優勢阿。這樣分還有意思麽?这样反而简单问题复杂化了,所以觉得这个分页例子基本上是没实用价值的。
评论日期:2006年05月25日 00:00:00 评论人:メ冰枫ぱ雪
这个太赞了,收藏起来先。。 分页和安全最头腾的问题。。
评论日期:2006年06月06日 00:00:00 评论人:光光
很不错,也这样做过。
确实是绑定了两次,可以在pageload里写个if语句,检测是否第一次被传回。
评论日期:2006年08月19日 00:00:00 评论人:zhenghaibingood
我是来听歌的.
评论日期:2007年02月12日 00:00:00 评论人:sevsenseal
听了E孟收藏的歌,重新找到了阔别很久很久的激情.真的,绝对不夸张!!
我上网的时间有限,能告知什么地能找到这些歌
评论日期:2007年03月19日 00:00:00 评论人:lucky_xrg
孟子老大:你好呀,我把你的这个DataGrid分页例子的代码拷到程序中调试但是出现了下面的错误, 
未能加载类型“eMeng.Exam.DataGridPaging.DataGridPaging”
请问是什么原因呢?
我刚刚开始学习。net 是个新手

评论日期:2007年03月20日 00:00:00 评论人:ren
http://community.csdn.net/Expert/topic/5406/5406465.xml?temp=.7678339
评论日期:2007年11月21日 00:00:00 评论人:
真不错 这方法很不错 不过,sender.CommandArgument取不到值  这个属性还没怎么用过  换了一个方法,只是分别写了4个按钮时间而已
评论日期:2008年03月09日 00:00:00 评论人:wzy
不行啊,提示错误:当 AllowPaging 设置为 true,并且选定的数据源未实现 ICollection 时,AllowCustomPaging 必须为 true,并且必须为 ID 为 DG_Persons 的 DataGrid 设置 VirtualItemCount。
评论日期:2008年03月13日 00:00:00 评论人:羽田
孟子大哥,我想知道页面下面的 
共6页 上一页 1 2 3 4 5 6 下一页 转到:    GO  
这个是怎么做的?还有汉字验证码是怎么做的阿?
小弟初学,请大哥赐教
评论日期:2008年03月26日 00:00:00 评论人:gehy
提示错误:当 AllowPaging 设置为 true,并且选定的数据源未实现 ICollection 时,AllowCustomPaging 必须为 true,并且必须为 ID 为 DG_Persons 的 DataGrid 设置 VirtualItemCount。 应该怎么进行修改?
评论日期:2008年06月04日 00:00:00 评论人:ren830925
怎么每个例子都有这个错误呀 我是初学者 给讲解下好么 (可以加我QQ 772734500 我想请教一些东西)
分析器错误 
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 

分析器错误信息: 未能加载类型“eMeng.Exam.DataGridPaging.DataGridPaging”。

源错误: 


行 1:  <%@ Page language="c#" EnableViewState = "true" Codebehind="DataGridPaging.aspx.cs"
行 2:   AutoEventWireup="false" Inherits="eMeng.Exam.DataGridPaging.DataGridPaging" %>
行 3:  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 

源文件: /mingrisoft/DataGridPaging.aspx    行: 1 
评论日期:2008年06月18日 00:00:00 评论人:侠客
孟大哥,您好! 关于Gridview自定义分页,按照您的例子,试着写了一次,但运行时提示: GridView1.PageIndex = System.Convert.ToInt32(arg);  输入字符串的格式不正确。请问是什么原因导致出错。。谢谢。。

评论日期:2008年09月06日 00:00:00 评论人:



推荐给Web程序员, 

学习网络赚钱 [ www.888RMB.com.cn ] 为中国赚钱网站, 

提供赚钱教程、赚钱经验、赚钱 秘籍、赚钱项目、赚钱产品, 为想赚钱的人群提供一个赚钱的网络平台 



评论日期:2009年08月21日 19:05:55 评论人:老张
我还是有点郁闷
你#region Web Form Designer generated code
下面的代码在哪了写?
评论日期:2010年02月19日 23:57:18 评论人:不行啊
{
    protected void Page_Load(object sender, 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="
    + HttpContext.Current.Server.MapPath("../../aspxWeb.mdb.ascx");
  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()
 {
     string oraStr = System.Configuration.ConfigurationManager.AppSettings["SysDSN"];
     OracleConnection conn = new OracleConnection(oraStr);
     int areanum = 1002;

     OracleCommand cmd = conn.CreateCommand();
     DataSet ds = new DataSet();
     cmd.CommandText = "CURSPKG.PROC_YW_GETPMLB";
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.Add("IO_CURSOR", OracleType.Cursor).Direction = ParameterDirection.Output;
     cmd.Parameters.Add("TotalCount", OracleType.Number).Direction = ParameterDirection.Output;
     cmd.Parameters.Add("xfzd", OracleType.Number).Value = areanum;
     OracleDataAdapter da = new OracleDataAdapter(cmd);
     conn.Open();
     cmd.ExecuteNonQuery();
     conn.Close();
     da.Fill(ds);
     //DataGrid1.DataSource = ds;
      MyDataGrid.DataSource = ds;
      MyDataGrid.DataBind();
     ShowStats();
 }
 

 /// <summary>
 /// 设计器支持所需的方法 - 不要使用代码编辑器修改
 /// 此方法的内容。
 /// </summary>
 private void InitializeComponent()
 {
  this.MyDataGrid.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.OnPageIndexChanged);
  this.btnFirst.Click += new System.EventHandler(this.PagerButtonClick);
  this.btnPrev.Click += new System.EventHandler(this.PagerButtonClick);
  this.btnNext.Click += new System.EventHandler(this.PagerButtonClick);
  this.btnLast.Click += new System.EventHandler(this.PagerButtonClick);
  this.Load += new System.EventHandler(this.Page_Load);

 }

 private void OnPageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
 {
 int startIndex ;
  startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize;
  MyDataGrid.CurrentPageIndex = e.NewPageIndex;
  BindGrid();
  ShowStats();
 }
}
我用的是Oracle数据库, 最首页  前一页  下一页  最后页 这些按钮不起作用,郁闷
发表评论:
标题:
用户名:
内容:
验证码: 请输入右边图像中的文字。验证码