求救~!关于分页的CurrentPageIndex的变更

penweline 2007-11-29 11:01:04
在下初学者,使用DataGrid的自带分页功能,我在主页面放有一个listbox跟数据库绑定了,选中listbox中的项能在DataGrid1中显示该选中项对应的全部信息(AutoPostBack为True).页面还有一个linkbutton按钮,点击会从同一数据库中查询该选中项的部分信息在DataGrid1中显示.请看代码:

private void BindToData() //自定义listBox绑定方法
{
SqlConnection con=DBCon.createCon(); //自定义DBCon类连接数据库
SqlDataAdapter sda=new SqlDataAdapter();
sda.SelectCommand=new SqlCommand("select * from 数据表 where ID='"+this.ListBox1.SelectedValue+"'",con);
DataSet ds=new DataSet();
sda.Fill(ds,"sp");
this.DataGrid1.DataSource=ds.Tables["sp"];
this.DataGrid1.DataBind();
}
private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.BindToData();
}


private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
if(DataGrid1.CurrentPageIndex>DataGrid1.PageCount)
DataGrid1.CurrentPageIndex=DataGrid1.PageCount;
this.DataGrid1.CurrentPageIndex=e.NewPageIndex;
this.BindToData(); //调用ListBox绑定
}
private void LinkButton1_Click(object sender, System.EventArgs e)
{
this.DataGrid1.CurrentPageIndex=0; //归0
SqlConnection con=DBCon.createCon();
SqlDataAdapter sda1=new SqlDataAdapter();
sda1.SelectCommand=new SqlCommand("select * from 数据表 where ID='"+this.ListBox1.SelectedValue+"' and Name like '%%'",con);
DataSet ds1=new DataSet();
sda1.Fill(ds1,"sp");
this.DataGrid1.DataSource=ds1.Tables["sp"];
this.DataGrid1.DataBind();


现在的问题是:我在查询选中项的全部信息后再点击linkbutton查询选中项的部分信息(SQL查询语句不一样!),页码也正常显示,但我点击"下一页"按钮时DataGrid1的PageIndexChanged又会自动调用this.BindToData(); 从而显示全部信息...请问我该怎样避免这一现象?跪求~~
...全文
79 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
penweline 2007-11-30
请教达人,顶起了...在线等
回复
lyg1166 2007-11-30
可以写两个绑定DataGrid的方法,根据ListBox1和LinkButton1的选择不同调用不同的方法.不知是否可以?
回复
penweline 2007-11-30
我的问题就是:ListBox1和LinkButton1这两次查询过程的DataGrid1_PageIndexChanged事件怎么写?-_-!
回复
lyg1166 2007-11-30
不明白什么意思!
回复
penweline 2007-11-30
顶起来..请大家帮忙啊
回复
penweline 2007-11-29
哎呀,好象有点文不对题了:(
请教~!
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2007-11-29 11:01
社区公告

让您成为最强悍的C#开发者