首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在datalist控件内进行分页

问如何在datalist控件内进行分页
EN

Stack Overflow用户
提问于 2009-11-17 20:31:42
回答 2查看 1.5K关注 0票数 0

我需要对datalist控件进行分页。我将显示(6列*5行)。因此,一旦记录被超过,它应该转到下一页,任何人可以给出代码如何实现这一点。由于我们没有内置的数据列表控件分页功能,谢谢!

EN

回答 2

Stack Overflow用户

发布于 2009-11-17 20:36:25

查看DataList控件的RepeatColumns属性,分页可以通过经典的方式完成。:

代码语言:javascript
复制
DataList1.RepeatColumns = 6;
DataList1.RepeatDirection = RepeatDirection.Horizontal;
票数 -1
EN

Stack Overflow用户

发布于 2016-03-18 20:04:06

对于使用PagedDataSource的DataList分页,PagedDataSource用于为数据绑定控件提供分页工具,如Datalist、Repeater、DataGrid、GridView、DetailsView和FormView,这些控件允许它执行分页。例如,创建SQL表

代码语言:javascript
复制
CREATE TABLE [dbo].[tbl_category](
[catid] [int] IDENTITY(1,1) NOT NULL,
[categoryname] [nvarchar](100) NOT NULL,

CONSTRAINT [PK_tbl_category] PRIMARY KEY CLUSTERED 
(
[catid] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY =  OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

Default.aspx页面容器

代码语言:javascript
复制
<asp:DataList ID="DataList1" runat="server">
     <ItemTemplate>
         <asp:Label ID="Label1" runat="server" Text='<%# Eval("categoryname") %>'></asp:Label>                        

         </ItemTemplate>                                             
    </asp:DataList>
     <asp:label id="lblCurrentPage" runat="server"></asp:label>
<asp:LinkButton ID="lbtnPrev" 
Runat="server" onclick="lbtnPrev_Click">Prev</asp:LinkButton>

<asp:LinkButton ID="lbtnNext" 
Runat="server" onclick="lbtnNext_Click">Next</asp:LinkButton>

后面的下一个代码

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    ItemsGet();
}

  private void ItemsGet()
{

    string qry = "select catid, categoryname from tbl_category";
    SqlConnection con = new SqlConnection(a.dbConnection());
    SqlDataAdapter da = new SqlDataAdapter(qry, con);
    DataTable dt = new DataTable();
    da.Fill(dt);       
    PagedDataSource pgsrc = new PagedDataSource();
    pgsrc.DataSource = dt.DefaultView;
    pgsrc.AllowPaging = true;
    pgsrc.PageSize = 3;
    pgsrc.CurrentPageIndex = CurrentPage;      
    DataList1.DataSource = pgsrc;
    DataList1.DataBind();
    lblCurrentPage.Text = "Page: " + (CurrentPage + 1).ToString() + " of "  + pgsrc.PageCount.ToString();      

}
public int CurrentPage
{
    get
    {
        // look for current page in ViewState
        object o = this.ViewState["_CurrentPage"];
        if (o == null)
            return 0; // default page index of 0
        else
            return (int)o;
    }

    set
    {
        this.ViewState["_CurrentPage"] = value;
    }
}
protected void lbtnPrev_Click(object sender, EventArgs e)
{
    // Set viewstate variable to the previous page
    CurrentPage -= 1;
    // Reload control
    ItemsGet();
}
protected void lbtnNext_Click(object sender, EventArgs e)
{
    // Set viewstate variable to the next page
    CurrentPage += 1;
    // Reload control
    ItemsGet();
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1748557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档