代码好长,看不下去了。简单得做法。建一个函数比如 
DataBindPage(){根据查询条件去检索数据库提取对应得记录;}将该函数放在pageload中if(!Page.IsPostBack){ DataBindPage();}  你得查询按钮也只要执行{ DataBindPage();}  就一句话。注意一点:DataBindPage()函数中得sql语句直接用到查询条件。空就忽略那个条件。都空则全选

解决方案 »

  1.   

    把DataGrid绑定得函数与别得比如说dropdownlist得数据绑定分开。
      

  2.   

    把搜索Button下面的代碼照原樣寫到
    DataGrid1.CurrentPageIndex  =  e.NewPageIndex;
    下面試試
      

  3.   

    sp_showhumanlist存储过程是查询整个表的信息,如果要对搜索的结果分页,那么存储过程的功能应该是按部门名查询得到的结果。
    BindGrid()函数只是绑定整个表的相关信息,并不是部分查询的信息。
      

  4.   

    我倒,为什么数据绑定要绑定整个表的信息?比如:我有两个查询条件日期,部门
    我可以在初始绑定datagrid时就附带这两个条件
    控制在sql语句里。比如日期输入的是txtTime,部门名称:txtDepart.
    写sql语句的时候可以:string sql="select * from 表名"
    if(txtTime.text.toString() !="")
    {
       sql=" and dateTime(时间字段)='"+txtTime.text.toString()+"'";
    }.......
      

  5.   

    绑定有问题
    用一个变量存储SQL语句(你上次用过的SQL语句,绑定的数据每变一次,SQL也随着改变)
    然后在需要绑定时,用这个SQL语句绑定不就可以了吗
      

  6.   

    string sql难道不行????不用那么复杂吧
      

  7.   

    应该是绑定出错了,检查一下sql语句