请教关于在实现gridview分页功能时如何才能做到点击上一页后出现选择过的东西?

逍遥散人 2006-10-30 06:38:36
我的代码:
test.aspx.cs
......

# region 分页用代码
protected void gv_ycpinfo_OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
gv1.PageIndex = e.NewPageIndex;
Customer_BindGrid();
}

protected void PagerButtonClick(object sender, EventArgs e)
{
string arg = ((Button)sender).CommandArgument.ToString();
switch (arg)
{
case "prev":
if (gv1.PageIndex > 0)
{
gv1.PageIndex -= 1;
}
break;
case "next":
if (gv1.PageIndex < (gv1.PageCount - 1))
{
gv1.PageIndex += 1;
}
break;
case "last":
gv1.PageIndex = (gv1.PageCount - 1);
break;
default:
gv1.PageIndex = 0;
break;
}
Customer_BindGrid();
}

protected void PageIndex(GridView Dv, System.Data.DataSet ds)
{
LblCurrentIndex.Text = "第 " + (Dv.PageIndex + 1).ToString() + "/" + Dv.PageCount.ToString() + " 页";
LblPageCount.Text = "共 " + Dv.PageCount.ToString() + " 页";
LblRecordCount.Text = "总共 " + ds.Tables[0].Rows.Count.ToString() + " 条";
if (ds.Tables[0].Rows.Count == 0)
{
cd0.Visible = true;
cd1.Visible = false;
}
else if (Dv.PageCount == 1)
{
btnFirst.Visible = false;
btnPrev.Visible = false;
btnNext.Visible = false;
btnLast.Visible = false;

cd0.Visible = false;
cd1.Visible = true;
}
else
{
btnFirst.Visible = true;
btnPrev.Visible = true;
btnNext.Visible = true;
btnLast.Visible = true;

LblCurrentIndex.Visible = true;
LblPageCount.Visible = true;
LblRecordCount.Visible = true;

cd0.Visible = false;
cd1.Visible = true;
}
}
# endregion

#region 绑定数据信息
protected void Customer_BindGrid()
{
string sql = "select * from tab;";
SqlDataBase mysqld = new SqlDataBase();

mysqld.Open();

gv1.DataSource = mysqld.GetDs(sql);
gv1.DataBind();

PageIndex(gv1, mysqld.GetDs(sql));

mysqld.Close();
}
#endregion

......

gv1中有3列:col1,col2,col3,其中col3是一个checkbox控件。还有一个数组变量:arrylist mylist,一个保存按钮

我的要求是:把gridview中选择的数据点击保存按钮后把内容赋给mylist变量,然后进行后续处理,但现在的问题是:
按保存按钮后都可以得到当前页的选择内容,但是却不能得到前面选择过的数据内容,请问这段分页代码应该如何修改才能实现我要的功能呢?谢谢!

我现在的代码已经完成了其它的功能,但还有一个问题,就是使用这个分页代码后,当在某一页面中
的某几个checkbox处于选择状态的话,点击下一页然后再点击上一页,会出现原来选择了的控件处于未被选择状态,并且
...全文
274 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
逍遥散人 2006-10-31
  • 打赏
  • 举报
回复
xrll():我的sql查询是两表联合查询,如果用您提供的方法,那么在gridview中的DataKeyNames应该如何设定啊?
Eddie005 2006-10-31
  • 打赏
  • 举报
回复
http://www.cnblogs.com/eddie005/archive/2006/07/04/GridView_CheckBox.html
yangye1211 2006-10-31
  • 打赏
  • 举报
回复
选择过的都存在session里面
xrll 2006-10-30
  • 打赏
  • 举报
回复
http://aspalliance.com/774
  • 打赏
  • 举报
回复
看看你的Customer_BindGrid()中的sql变量,都不考虑“状态”问题。应该将选择条件保存在ViewState中,永不忘记。
xrll 2006-10-30
  • 打赏
  • 举报
回复
http://www.koolsoft.com/DataGridCheckboxes.aspx
逍遥散人 2006-10-30
  • 打赏
  • 举报
回复
抱歉,最后一段话忘了删了,请略过
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-30 06:38
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。