DataGrid1.CurrentPageIndex = e.NewPageIndex;
//把数据再绑定一遍
DataGrid1.DataSource=//
DataGrid1.DataBind();
//把数据再绑定一遍
DataGrid1.DataSource=//
DataGrid1.DataBind();
解决方案 »
- 问2个小问题
- 请教listview默认选中。
- 日期的计算
- C# 中如何计算含符号位和小数位的二进制字符串?
- C#中 sql里这样一个数据计算语句,怎么把它的计算值分别赋值给C#的控件呢???
- winForm最大化
- 为什么VS默认生成的文件是ANSI的字符集,而它默认的编码又是utf-8,搞不懂,用vs生成的css和js文件全部乱码了。。。
- 請問我的簡體.net2003寫用在繁體系統上的程序時要注意哪些﹖
- 高人救我!!!!!!!!!
- 请教:如何保留窗体右上角的最大最小按钮,去掉关闭按钮,或者使关闭按钮失效?谢谢!
- DataGrid与水晶报表
- 象csdn这样论坛关于回复内容的存取,和原样显示的问题!!!!
如果是小数据量的数据,你可以存在page.viewstate中
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex=e.NewPageIndex; //翻页
}
应该公共方法为:
private void BindGrid() //绑定DataGird控件方法
{
string strSql="select * from hr_insurance";
inSet=Conn.method_Reader(strSql,Conn.SqlConn); //读取数据库数据
Session["inview"]=inSet; //存储数据在Session对象中
}在dataGrid的事件
private void DataGrid1_PreRender(object sender, System.EventArgs e)
{
//绑定数据源
this.DataGrid1.DataSource=(DataSet)Session["inview"];
this.DataGrid1.DataBind();
}
最好将绑定代码放入一个函数中
protected void BindGrid()
{
string seleString="select st_id 编号,st_name 姓名,st_zy 专业,st_ds 导师 ,st_date 时间 from tab_st where st_zy="+"'"+DropDownList2.SelectedValue+"'";
SqlConnection1=new System.Data.SqlClient.SqlConnection(conString);
SqlDataAdapter1=new System.Data.SqlClient.SqlDataAdapter(seleString,SqlConnection1);
DataSet1=new DataSet();
SqlDataAdapter1.Fill(DataSet1,"tab_st");
DataGrid1.DataSource=DataSet1.Tables["tab_st"].DefaultView;
DataGrid1.DataMember="tab_st";
SqlConnection1.Open();
DataGrid1.DataBind();
SqlConnection1.Close();
}
然后这样调用
private void Button1_Click(object sender, System.EventArgs e)
{
BindGrid();
}private void DataGrid1_PageIndexChanged(object source,System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
SqlConnection1.Open();
DataGrid1.DataBind();
SqlConnection1.Close();
其中的的
SqlConnection1.Open();
SqlConnection1.Close();
这两句话可以去掉
把自动分页设为true;在分页事件把数据源再绑定一次,一定要重设数据源。
protected void BindGrid()
{
string seleString="select st_id 编号,st_name 姓名,st_zy 专业,st_ds 导师 ,st_date 时间 from tab_st where st_zy="+"'"+DropDownList2.SelectedValue+"'";
SqlConnection1=new System.Data.SqlClient.SqlConnection(conString);
SqlDataAdapter1=new System.Data.SqlClient.SqlDataAdapter(seleString,SqlConnection1);
DataSet1=new DataSet();
SqlDataAdapter1.Fill(DataSet1,"tab_st");
DataGrid1.DataSource=DataSet1.Tables["tab_st"].DefaultView;
DataGrid1.DataBind();
}private void Button1_Click(object sender, System.EventArgs e)
{
BindGrid();
}private void DataGrid1_PageIndexChanged(object source,System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
点击分页后,比如说到第二页,再改变DropDownList2的值,然后再点击查询按钮就报错了."无效的CurrentPageIndex值.它必须大于等于0且小于PageCount."