0

我正在使用数据表将数据绑定到 gridview。我想允许分页。如何进行分页?这是我使用的代码。

            SqlConnection con = new SqlConnection(getconnectionString());
            SqlCommand cmd = new SqlCommand("Sps_pagingshow", con);
            con.Open();
            cmd.CommandType = CommandType.StoredProcedure;
            //cmd.Parameters.AddWithValue("@PageIndex", pageIndex);
            //cmd.Parameters.AddWithValue("@PageSize", int.Parse(ddlPageSize.SelectedValue));
            //cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 4);
            //cmd.Parameters["@RecordCount"].Direction = ParameterDirection.Output;

            IDataReader idr = cmd.ExecuteReader();
            GridView1.DataSource = idr;
            GridView1.DataBind();
            idr.Close();
            con.Close();
4

2 回答 2

0

使用 GridView 的“OnPageIndexChanging”事件来允许默认分页。

protected void index_changing(object sender, GridViewPageEventArgs  e)
    {
        gridview.PageIndex = e.NewPageIndex;
    }

谢谢。

于 2012-08-01T06:04:42.080 回答
0

Datatable 是断开连接的架构,所以它不支持分页。

根据 msdn,仅支持数据源或实现 ICollection 接口或其后代之一的对象(即 Enumerable、Dictionary、List、Queue、Stack 等)通过 GridView 进行自动分页。

DataTable 不符合这些条件,因此您怀疑 DataTable 不支持自动分页是正确的。但是,正如您所了解的,您可以通过编程方式对 DataTable 进行分页。另一种方法是使用 DataTable 来填充支持分页的集合。

于 2012-08-01T06:01:52.847 回答