DataGrid只有上一页,下一页,没有第一页,最后一页等,所以我用PagedDataSource定义自己的分页形式:
共多少页||每页显示几条||第一页||上一页||下一页||尾页但是我想用形如DataGrid中的数据编辑那种修改数据的方式,因为只有DataGrid有这个功能,所以我把DataGrid跟自己定义的分页绑定在一块又因为夹杂了一个数据库操作类,结果乱套了,好郁闷阿,不知道大家是怎么做这块的,能否指教一下,如何去做,我看我同学里面有数据编辑和分页显示兼得的,但是我不知道他用的什么控件,我笨了点,请大家帮帮忙啊?给个思路
共多少页||每页显示几条||第一页||上一页||下一页||尾页但是我想用形如DataGrid中的数据编辑那种修改数据的方式,因为只有DataGrid有这个功能,所以我把DataGrid跟自己定义的分页绑定在一块又因为夹杂了一个数据库操作类,结果乱套了,好郁闷阿,不知道大家是怎么做这块的,能否指教一下,如何去做,我看我同学里面有数据编辑和分页显示兼得的,但是我不知道他用的什么控件,我笨了点,请大家帮帮忙啊?给个思路
解决方案 »
- 会话20分钟后自动销毁时在Session_End事件函数中对数据库的操作出错,怎样解决
- asp.net我想用后台程式隐藏listview中的一个按钮,不知如何操作,谢了
- 企业网站后台产品目录的问题
- .aspx和httpHandler的比较和取舍
- 在调试的时候好好的,可是在部署在IIS里了,就出现错误'对路径“C:\inetpub\wwwroot\KedaNET\Student_CJ\counter.txt”的访问被拒绝。'帮我
- 很急啊 ,帮个忙啊
- 为什么一个按钮的事件只能触发删除或者更新?不能同时除法?
- asp.net & C# 如何在類中 判斷Cache是空的!
- (ASP.NET,C#)WEB页面间控件的继承和整个页面的继承,请问怎么实现?
- 急问题 立站问题
- 想获取服务器某个文件夹下文件夹和文件列表
- 求助:为什么我用webpart做出的控件上没有关闭和隐藏的那个按钮?
//PagedDataSource是控制分页的类,在System.Web.UI.WebControls空间里。
PagedDataSource objPds=new PagedDataSource();
//da是数据源,是一个DataTable。
objPds.DataSource=da.DefaultView;
objPds.AllowPaging=true;
//下面设置每页的条数
objPds.PageSize=Convert.ToInt32(ConfigurationSettings.AppSettings["QuestionPageSize"]);
int curPage;
if(Request.QueryString["page"]!=null)
{
int theCurPage=Convert.ToInt32(Request.QueryString["page"]);
if(theCurPage<1)
curPage=1;
else if(theCurPage>objPds.PageCount)
curPage=objPds.PageCount;
else
curPage=theCurPage;
} else
curPage=1;
//设置当前的页数
objPds.CurrentPageIndex=curPage-1;
设置页面上显示的当前页数
currentPage.Text=curPage.ToString();
设置页面上攻多少页的显示。
pageCount.Text=objPds.PageCount.ToString();
//设置上一页链接是否可用,以及具体链接。
if(!objPds.IsFirstPage)
{
prePage.Enabled=true;
prePage.NavigateUrl=Request.CurrentExecutionFilePath+"?classID="+Request.QueryString["classID"].ToString()+"&page="+Convert.ToString(curPage-1);
}
//设置下一页链接是否可用,以及具体链接。
if(!objPds.IsLastPage)
{
nextPage.Enabled=true;
nextPage.NavigateUrl=Request.CurrentExecutionFilePath+"?classID="+Request.QueryString["classID"].ToString()+"&page="+Convert.ToString(curPage+1);
}
//设置转到第几页的下拉列表里的项。
for(int i=0;i<objPds.PageCount;i++)
{
ListItem newItem=new ListItem((i+1).ToString(),(i+1).ToString());
changePage.Items.Add(newItem);
}
//设置本页的DataGrid的数据源为objPds并绑定。
this.QuestionDL.DataSource=objPds;
另外,你需要为转到第几页的下拉列表的选项改变事件写一个方法:
public void changeThePage(object sender, System.EventArgs e)
{
Response.Redirect(Request.CurrentExecutionFilePath+"?classID="+Request.QueryString["classID"].ToString()+"&page="+Convert.ToString(changePage.SelectedItem.Value.ToString()));
}
this.QuestionDL.DataBind();