1——
我不明白你为什么想出这个方法。其实你的方法是正确的。2——
在DateAsk的代码中,我不知道t1是个什么东西,估计应该是一个TextBox吧?那么如果没有设置初始值,则在第一次调用的时候应该是空字符串,这个时候,DateAsk函数的功能是获取了数据库中roomname的值为空字符串的。
(达到这个目的了吗?)3——
我不知道你的LinkButton1是个什么东西,是否一个提交按钮?当用户点击这个按钮后,就根据用户在控件t1中输入的内容来检索要显示的数据?如果是,那么出现你发现内容没有改变的原因是因为你没有在t1中输入内容,或者你输入的内容导致运行的结果跟roomname=''是一样的。4——
事件处理函数:
protected void  DataGrid_PageIndexChanged( Object sender  , DataGridPageChangedEventArgs e )
{

mydatagrid.CurrentPageIndex = e.NewPageIndex;

DateAsk();                                   //调用private void DateAsk()
                  
}
中有个错误,应该把DateAsk的调用删除掉,或者你先调用DateAsk后设置DataGrid的CurrentPageIndex。
因为你在设置了CurrentPageIndex后再调用DateAsk进行数据绑定会导致DATAGRID复位,CurrentPageIndex会被重新设置为0。
一般情况下,对DataGrid进行数据绑定后,只要不改变具体数据源的内容,在修改DATAGRID的页码的时候不需要重新进行数据绑定的。至于为什么,等你的新问题再跟你说了(因为只有这样你才会弄懂)。5——
删除ASPX中的
OnPageIndexChanged="DataGrid_PageIndexChanged"
然后在CS代码中的INITIALIZECOMPONENT函数中增加:
myDataGrid.PageIndexChanged+=new DataGridPageChangedEventHandler(DataGrid_PageIndexChanged    我找不到:"然后在CS代码中的INITIALIZECOMPONENT函数中增加",其中的"INITIALIZECOMPONENT函数"   关于这个问题,可能是我没有拼写正确。你可以:在ASPX的设计器界面中,选择DATAGRID控件,查看该控件的属性,在属性中有个事件标签(黄色的闪电符号),切换到事件标签后,你会发现有个PageIndexChanged事件的,你可以通过右边的下拉按钮获得你已经定义好的事件处理函数,然后进行事件绑定,如果没有,你可以双击让系统自动产生事件绑定函数或手工输入你定义的函数名后回车也行。

解决方案 »

  1.   

    (1)-----我的发现: 
      首先:今天我回来公司.打开你给我的留言.仔细地看一次.首先我根据你的方法试了一次.不行.我就怀疑自己的程序肯定有问题.于是我就重新把程序逐步调试.还是不行.于是我就换了另一个窗体.重新写一次..成功了(是我没有把握好每个程序是否正确-----以后我会注意这点)..我也依照你的方法-----"应该把DateAsk的调用删除掉",程序没有出错,但是到了.换页的时候.要按两次才能跳到另一页...(奇怪...??为什么呢??)  
       在没有删除的时候.只按一次就可以跳到另一页了..       "一般情况下,对DataGrid进行数据绑定后,只要不改变具体数据源的内容,在修改DATAGRID的页码的时候不需要重新进行数据绑定的。至于为什么,等你的新问题再跟你说了(因为只有这样你才会弄懂)。"       你说的是不是这样意思-------在分页完后.没有必要对DataGrid再进行数据绑定.我还是有点模糊.
    (2)-------
          我是根据书本的例子而自己加工一下的,书本的例子没有查询功能.
    (3)------——
         在DateAsk的代码中,我不知道t1是个什么东西,估计应该是一个TextBox吧?那么如果没有设置初始值,则在第一次调用的时候应该是空字符串,这个时候,DateAsk函数的功能是获取了数据库中roomname的值为空字符串的。
    (达到这个目的了吗?)
          
                 现在达到目的了.我想不达到这个目的应该怎做呢??---我的意思是在页页初始化的时候.不要列出 "roomname的值为空字符串的"....只有我在没有写上数据的时候.按一下按扭.才实现这样的目的.