| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 673 人关注过本帖
标题:datagrid分页问题
只看楼主 加入收藏
23760639
Rank: 1
等 级:新手上路
帖 子:277
专家分:0
注 册:2005-5-13
收藏
 问题点数:0 回复次数:4 
datagrid分页问题
datagrid进行分页的时候.由于记录有几百条。这样如果查看第100条的话.就得一页一页的点击.不方便用户.有没有什么办法能让用户自己输入多少页后自动跳转至相应的页面呢。高手请指点
搜索更多相关主题的帖子: datagrid 用户 不方便 办法 
2006-01-11 09:27
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
那就不能用它自带的分页
类似给Repeater做过分页
2006-01-14 11:04
wstcl
Rank: 1
等 级:新手上路
帖 子:381
专家分:5
注 册:2005-8-17
收藏
得分:0 
datagrid1.CurrentPageIndex=textbox1.text,textbox1中的数字由用户输入

Love Baby
2006-01-17 13:37
Create
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:168
专家分:0
注 册:2005-11-6
收藏
得分:0 
我觉的还需要一个时间判断,如果用户输入十几,当只输入一个一的时候,Chanage事件发生,返回给用户的是一个不正确的页面


2006-01-23 19:41
yeyu
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-8-15
收藏
得分:0 
SqlConnection cnn=new SqlConnection("server=.;database=数据库的名字;uid=sa;pwd=;")

SqlDataAdapter sda= new SqlDataAdapter("select * from 表名 " ,cnn);
DataSet ds =new DataSet();
sda.Fill(ds,"biaoming");

DataView dataview=ds.Table[0].DefaultView;
this.DataGrid3.DataSource=dataview;
this.DataGrid3.DataBind();
string cPage;
int pageSize = 15;
int currentPage;
int pageCount;
int numResults = 0;

if (Request.QueryString["page"]==null)
{
cPage="1";
}
else
{
cPage=Request.QueryString["page"].ToString();
}
try
{
currentPage = Int32.Parse(cPage);
}
catch
{
currentPage = 1;
}

numResults = 0;
int start = (int)((currentPage - 1) * pageSize);
int to = (int)(currentPage * pageSize);
if (start <= 0) start = 0;

numResults = dataview.Count;
int a1=0;
pageCount = Math.DivRem(numResults,pageSize,out a1);
if (a1>0)
{
pageCount++;
}
if(currentPage>pageCount || currentPage<=0)
{
currentPage = 1;
}
if(currentPage==pageCount)
{
to = dataview.Count;
}

// Create one DataTable with one column.
DataTable myTable = new DataTable("myTable");
myTable = dataview.Table.Clone();



//add row
DataRow NewRow;
for(int i=start;i<numResults;i++)
{
if(i<to)
{
NewRow = myTable.NewRow();
for(int k=0;k<dataview.Table.Columns.Count;k++)
{
NewRow[k] = dataview.Table.Rows[i][k];
}
myTable.Rows.Add(NewRow);
}
}
myTable.AcceptChanges();

DataGrid3.DataSource = Operator.selectInfo();
DataGrid3.DataBind();

/// <summary>
/// 生成页导航条。
/// </summary>
string strNav ="";
int endpage;
if (currentPage>1)
{
strNav += "<font size=2>"+"<a href='?page="+(currentPage-1).ToString() +"'>上一页</a>" +"</font>";
}
if (currentPage>16)
{
strNav += "<a href='?page=1'>1</a> ..";
}
if(pageCount>currentPage+15)
{
endpage = currentPage+15;
}
else
{
endpage = pageCount;
}
for (int i=currentPage-15;i<endpage+1;i++)
{
if(i>=1)
{
if (i==currentPage)
{
strNav +="<font color=#990000><strong>"+ i.ToString() +"</strong></font> ";
}
else
{
strNav += "<a href='?page="+ i.ToString() +"'>"+ i.ToString()+ "</a> ";
}
}
}
if((currentPage+15)<pageCount)
{
strNav += "<a href='?page="+ pageCount.ToString() +"'>"+ pageCount.ToString() +"</a>";
}
if(currentPage<pageCount)
{
strNav += " <a href='?page="+ (currentPage+1).ToString() +"'>下一页</a>";
}

Literal1.Text ="<font size=2>" +strNav +"</font>";
Literal2.Text = "<font size=2>共"+ numResults.ToString() +" 条供应信息,当前显示第 "+
(start+1).ToString() +" - "+ to.ToString() +" 条,共 "+ pageCount.ToString() +" 页</font>";

2006-01-24 12:31
快速回复:datagrid分页问题
数据加载中...
 
   



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

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