我的代码:
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处于选择状态的话,点击下一页然后再点击上一页,会出现原来选择了的控件处于未被选择状态,并且
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处于选择状态的话,点击下一页然后再点击上一页,会出现原来选择了的控件处于未被选择状态,并且
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货