比如这样子,
我的页面
一个GridView 一个TextBox 一个Button 一个SqlDataSource,SqlDataSource的selectCommand="select name from table1"。我想根据TextBox中的内容进行查询。
在Buttion_Click事件中改变了SelectCommand="select name from table1"+ " where name like" + " '%" + this.TextBox.Text + "%'";
然后重新绑定GridView。
查询出来结果的第一页是正确的,但是我点击其他页的时候,查询结果就是原来SelectCommand所查询出来的那个页的值了! 请问如何解决这个问题!

解决方案 »

  1.   

    GridView分页那里又没有AutoPostBack之类的属性设置
      

  2.   

    你在gridview的分页事件里再改gridview的selectcommand的值试试
      

  3.   

    就是它的PageIndexChanging事件里
      

  4.   

    因为你没有在PageIndexChang里写入事件。
      

  5.   

    在selectcommand 中加一个参数
    <SelectCommand="select name from table1 name where like @name">
      <SelectParameters>
            <asp:ControlParameter ControlID="TextBoxID" PropertyName="Text" Name="name" />
        </SelectParameters>
    然后在button_click事件中,把文本框的值设为 %+ TextBoxID.Text + % ,就应该可以啦
      

  6.   

    TO:erqie
    请问PageIndexChanging事件里的具体代码应该怎么写呢?
     ----------
    To:gggmmtddir
     数据源本来的SelectCommand是没有参数的。加了这个参数会不会影响原来的查询?
      

  7.   

    有了SqlDataSource基本不用写代码了
    传参啊
    SqlDataSource里参数设置成control类,
    sql语句中的参数就会从设置的控件中得到,
    用了SqlDataSource就不用专门处理PageIndexChanging事件了,
    只需把gridview的allowpage属性设置为true就行了,别的再相应设置,
    在1.1里需要处理PageIndexChang() 
    而事件2.0里有PageIndexChanging和PageIndexChanged事件
    一个是分页前触发一个是分页后触发没了PageIndexChang() 
    事件
      

  8.   

    To : hongyin163
    ------
     我改了SelectCommand 分页就不行了如果在SqlDataSource中设置参数的话 加如下的代码 连一开始的数据也没有显示了
    SelectCommand="select name from table1 name where name like @name">
      <SelectParameters>
            <asp:ControlParameter ControlID="TextBoxID" PropertyName="Text" Name="name" />
        </SelectParameters>请问! 在GridView 如何通过TextBox进行对数据的检索
      

  9.   

    我在群里说了,拿个变量取植再用GRIDVIEW去取那个变量就看的清晰一点。hongyin163说的对,直接控件不用PageIndexChanging事件的,晕了,第2页显示不正确的情况我还真没遇见过,没啥科学道理
    你先不分页看看显示正确吗,然后再分页。
      

  10.   

    PageIndexChang 是在前台,你点GRIDVIEW右键属性,然后在属性那里双击PageIndexChang就在后台出来了照贴代码是不会认的。。
      

  11.   

    类似这样的对GridView中的数据进行搜索的话,请问楼上的各位老大们,都应该咋做。我的做法是不是很不好呢!
      

  12.   

    条件不队,最简单的方法是select top 20 ..............也是最笨的方法