关于dbgrid的分页问题,难道是....

qinamao 2003-02-14 09:10:14
我出现的问题是:能够显示分页数字按纽,但是点击任何一个,dblist都没有显示
,问题在哪呢?请高手帮忙分析一下

(
private void InitializeComponent()
{
.....
this.dblist.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.dblist_PageIndexChanged);
.....
}

代码如下:(sqlstr为查询的sql语句)
private void Button1_Click(object sender, System.EventArgs e)
{
........
da3 = new SqlDataAdapter(sqlstr,myConnection);
da3.TableMappings.Add("cequips","cequips");
da3.Fill(ds,"cequips");
dblist.DataSource = ds.Tables["cequips"].DefaultView;
dblist.DataBind();

}

private void dblist_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dblist.DataSource = ds.Tables["cequips"].DefaultView;
dblist.CurrentPageIndex=e.NewPageIndex;
dblist.DataBind();

}
...全文
54 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinamao 2003-02-14
  • 打赏
  • 举报
回复
谢谢chyich() ,接分!
chyich 2003-02-14
  • 打赏
  • 举报
回复
你只是button事件中填充了dataset中的datatable,但网页的机制是不会保存页面对象或变量的状态(数据),它和cs的程序不一样,只要网页一刷新,所有的控件和对象的数据就会丢失。所以要用session对象保存datatable,这样它的状态就会被保存下来。
qinamao 2003-02-14
  • 打赏
  • 举报
回复
已经ok了,但是我有个问题请教 chyich ,
我已经进行了 da3.Fill(ds,"cequips");
那么ds 数据集中应该存有 cequips 表吗?为什么呢?
gOODiDEA 2003-02-14
  • 打赏
  • 举报
回复
如果你的控件是静态的,把这个加入到对应的aspx文件的控件定义里去OnPageIndexChanged="dblist_PageIndexChanged"

不要加在InitializeComponent()中,试试!
chyich 2003-02-14
  • 打赏
  • 举报
回复
不好意思,上面贴错了。

你的问题在于你的在分页事件中,ds.Tables["cequips"].DefaultView没有重新提取,你可以这样做:
private void Button1_Click(object sender, System.EventArgs e)
{
........
da3 = new SqlDataAdapter(sqlstr,myConnection);
da3.TableMappings.Add("cequips","cequips");
da3.Fill(ds,"cequips");
dblist.DataSource = ds.Tables["cequips"].DefaultView;
Session["data1"]=ds.Tables["cequips"];
dblist.DataBind();
}

private void dblist_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dblist.DataSource = ((DataTable)(Session["data1"])).DefaultView;
dblist.CurrentPageIndex=e.NewPageIndex;
dblist.DataBind();

}

chyich 2003-02-14
  • 打赏
  • 举报
回复
如果你在page指令里设置了SmartNavigation="true":
<%@ Page language="c#" Codebehind="sfgl_item.aspx.cs" AutoEventWireup="false" Inherits="wjj.sfgl" SmartNavigation="true"%>
那么在前几次单击的时候就会出错,后几次就会弹出相同的一个页面及你要打开的页面,你把SmartNavigation="false"就正常了。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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

试试用AI创作助手写篇文章吧