3

它弹出一个异常,说我不能在服务器端使用分页。

conn.Open(); 
string querstring = "select * from gt_transaction_log where LogTimeStamp between '2013-09-19 07:06:00.077' and '2013-09-19 10:28:25.163' ";
SqlCommand cmd = new SqlCommand(querstring, conn);
GridView1.EmptyDataText = "no record found";
GridView1.DataSource = cmd.ExecuteReader();
GridView1.DataBind();

GridView1.AllowPaging = true;
GridView1.PageSize = 5; 
4

4 回答 4

2

您必须在页面的 UI 中指定是否要分页,即:

<asp:GridView ID="grid" runat="server" AllowPaging="true" PageSize="5" OnPageIndexChanging="grid_PageIndexChanging" />

然后在cs文件中:

 protected void grid_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        try
        {
            grid.PageIndex = e.NewPageIndex;
            BindGrid();
        }
        catch (Exception ex)
        {
        }
    }

其中 BindGrid() 方法是我们绑定网格的方法。

于 2013-09-23T07:33:45.967 回答
2

您不能将分页与DataReader. 所以问题在于这一行:

GridView1.DataSource = cmd.ExecuteReader();

您应该使用aDataset或 a填充 GridView 。DatatableDataAdapter

例子:

// 使用DataTable

string querstring = "select * from gt_transaction_log where LogTimeStamp between
                     '2013-09-19 07:06:00.077' and '2013-09-19 10:28:25.163' ";
SqlDataAdapter adapter = new SqlDataAdapter(querstring , conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
GridView1.DataSource=dt;
GridView1.DataBind();

// 使用DataSet

string querstring = "select * from gt_transaction_log where LogTimeStamp between
                     '2013-09-19 07:06:00.077' and '2013-09-19 10:28:25.163' ";
SqlDataAdapter adapter = new SqlDataAdapter(querstring , conn);
DataSet ds = new DataSet();
adapter.Fill(ds, "Table_Name"); // you can supply a table name
GridView1.DataSource=ds;
GridView1.DataBind();
于 2013-09-23T04:23:00.417 回答
0

在设计视图上,单击 Gridview > 允许分页或改用 SQLdatasource,然后允许分页

于 2013-09-22T19:08:04.543 回答
-2

您可以尝试使用此代码.......

String constring = "Data Source=dsdsdsds;Initial Catalog=table;User Id=uid;Password=pass";
SqlConnection conqav = new SqlConnection(constring);
String takeffty = "select top 10 * from table";
conqav.Open();
SqlCommand comqav = new SqlCommand(takeffty,conqav);
GridView1.DataSource = comqav.ExecuteReader();
GridView1.DataBind();
conqav.Close();
于 2014-04-30T05:30:40.090 回答