星辰.Net技术社区--如何实现自定义数据源的gridview控件分页问题

网站首页 » 百科首页 » ASP.NET » 如何实现自定义数据源的gridview控件分页问题
相关文章推荐:
  1. 从GridView生成DataTable
  2. Asp.net 实现多功能GridView
  3. Asp.net--动态创建GridView的列(第一部分)
  4. GridView中如何实现自定义时间货币等字符串格式?
  5. 用javascript操纵GridView中CheckBox的两个常用技巧
相关问题推荐:
  1. javascript如何设置获取GridView模板列的值
  2. GridView单元格格式字符太长,能否保持宽度不换行显示?
  3. gridview 样式问题
  4. 不好表述,是关于GridView分页的
  5. gridview中如何实现符合某一条件的单元格变色
问题内容--提问时间:2008-8-20 11:04:06
这个例子是根据查询条件生成数据源绑定到gridview上,然后将gridview的allowpaging 设置为 true ,
像这样的情况如何实现分页,错误代码提示为:"激发了未处理的事件"PageIndexChanging。

下面是cs中数据绑定的后台代码:
  protected void MyDataBind(string sqlstring)
    {
        OleDbConnection objConnection = new OleDbConnection(CONN_STRING_NON_DTC); //建立数据链接对象objConnection
        OleDbDataAdapter adapter = new OleDbDataAdapter(); //创建OleDbDataAdapter对象
        DataSet dataset = new DataSet();  //创建DataSet对象

        try
        {

            objConnection.Open();//打开数据连接
            adapter.SelectCommand = new OleDbCommand(sqlstring, objConnection); //执行查询语句
            //创建dataset 对象
            adapter.Fill(dataset);  //添加dataset 对象
            Chaxun_GridView.DataSource = dataset;    //定制gridview的数据源
            Chaxun_GridView.DataBind(); //将数据源绑定到gridview控件

            //自定义显示的表头
            Chaxun_GridView.HeaderRow.Cells.Clear(); //清空控件默认的表头
            TableCell HeadCell = new TableCell(); //定义一个表格
            HeadCell.Text = "详细 </td> <td>业务编号 </td> <td>申请人 </td> <td>身份证号 </td> <td>性别 </td> <td>区县 </td> <td>业务状态 </td> <td>审核结果 </td>";  //自定义单元格,作为表头
            Chaxun_GridView.HeaderRow.Cells.Add(HeadCell); //添加自定义表头

            Shiju_GridView.Visible = false;  //市局默认的显示数据不可见
            Quxian_GridView.Visible = false;  //区县默认的显示数据不可见
        }
        catch (Exception ex)
        {
            Response.Write("数据库错误,错误原因:" + ex.Message);
            Response.End();

        }
        finally
        {
            objConnection.Close();//关闭数据连接
            dataset.Dispose();  //关闭dataset对象
        }
    }

//点击查询条件调用上述的数据绑定方法 :

    protected void Button1_Click(object sender, EventArgs e)
    {

        key = this.Name_TextBox.Text.Trim();  //获取查询条件,申请人姓名
        // Response.Write(key);
        if(district.Equals("纽约"))
        {
            selectSQl = "select [num], [applicant], [applicantId], [applisex],  [district], [state], [isSuc] from [tbAppli_Info]  where [applicant] like '" + "%" + key + "%" + "' and [state]  like  '" + "%" + state + "%" + "'"; //市局工作查询语句
        }else
        {
            selectSQl = "select [num], [applicant], [applicantId], [applisex],  [district], [state], [isSuc] from [tbAppli_Info]  where [applicant] like '" + "%" + key + "%" + "'and [district] = '" + district + "'";//区县的查询语句
        }
          MyDataBind(selectSQl);    }
答案
点GridView的事件里的PageIndexChanging事件,双击进去,在这个事件里写两行代码就OK了。
具体代码:
this.gvShowInfo.PageIndex = e.NewPageIndex;
//重新绑定数据源