[英]gridview control and paging asp.net
我有一個gridview填充在后端代碼中。 我現在嘗試實現分頁,但是當我嘗試自己的方式時,什么也沒得到。 這是我的一段代碼:
public void generateTable()
{
conn.ConnectionString = connString;
SqlCommand comm = new SqlCommand("ViewBusinessInfo", conn);
comm.CommandType = CommandType.StoredProcedure;
comm.CommandTimeout = 2;
try
{
conn.Open();
SqlDataReader rdr = comm.ExecuteReader();
if (rdr.HasRows)
{
gvAssociation.DataSource = rdr;
gvAssociation.DataBind();
gvAssociation.AllowPaging = true;
gvAssociation.PageSize = 10;
rdr.Close();
}
else
{
lblResult.Text = "No businesses found.";
lblResult.Visible = true;
}
}
catch
{
}
finally
{
conn.Close();
}
}
誰能告訴我我在做什么錯,而我無法在gridview中獲得分頁? 先謝謝,Laziale
可以在存在gridview標記的.aspx中添加gridview的allowPaging和pagesize屬性。
<asp:GridView ID="gridView" OnPageIndexChanging="gridView_PageIndexChanging" AllowPaging="True" pagesize="10" runat="server" />
此外,要使分頁鏈接正常工作,必須在gridview_PageIndexChanging
事件中添加以下代碼:
protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gridView.PageIndex = e.NewPageIndex;
gridView.DataBind();
}
希望這是有幫助的。
您不能使用DataReader進行分頁。 您應該使用DataAdapter將數據填充到數據集或數據表中。 像這樣的東西:
SqlCommand myCommand = new SqlCommand("ViewBusinessInfo", conn);
SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand))
DataTable dt = new DataTable();
myAdapter.Fill(dt);
...
設置AllowPaging
和PageSize
聲明,或對別人打電話之前DataBind()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.