簡體   English   中英

gridview控件和分頁asp.net

[英]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);
 ...

設置AllowPagingPageSize聲明,或對別人打電話之前DataBind()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM