现在的位置: 首页 > 综合 > 正文

用DataList做分页

2013年07月23日 ⁄ 综合 ⁄ 共 3998字 ⁄ 字号 评论关闭

1.前台代码:

    <asp:DataList ID="DataList1" runat="server" Width="730px" Height="267px">
        <ItemTemplate>
        <table style="width: 100%" cellpadding="0" cellspacing="0" border="soild 1 ">
        <tr style="background-color:#E5F1D9;  border-bottom-width:inherit"><td align="left">
            <asp:Label ID="lblquest" runat="server" Text="问题:"></asp:Label><%#Eval("question") %></td>
        </tr>
        <tr><td  align="left"></td></tr>
        <tr><td align="left">答案:<br /><%#Eval("answer") %></td></tr>
        </table>
        <br />
        <br />
        <%--  <hr style="height: 3px" />--%>
        </ItemTemplate>
 
        </asp:DataList>
     
   
    </td>
    <Tr>
    <td colspan="3">
        <asp:Panel ID="Panel1" runat="server">
       
        <asp:Button ID="butFirst" runat="server" Text="首页" onclick="butFirst_Click" />
        <asp:Button ID="butPrev" runat="server" Text="上一页" onclick="butPrev_Click" />
        <asp:Button ID="butNext" runat="server" Text="下一页" onclick="butNext_Click" />
        <asp:Button ID="butLast" runat="server" Text="尾页" onclick="butLast_Click" />
        <asp:Label ID="lblpageindex" runat="server" Text="Label"></asp:Label>
        <asp:Label ID="lblpagecount" runat="server" Text="Label"></asp:Label>
        <asp:Label ID="lblto" runat="server" Text=""></asp:Label>
        <asp:DropDownList ID="ddlist" runat="server" AutoPostBack="True"
            onselectedindexchanged="ddlist_SelectedIndexChanged">
        </asp:DropDownList>
        页</td>
        </asp:Panel>
    </Tr>

2.后台代码:

 

 public int Pageindex
    {
        get { return (int)ViewState["pageindex"]; }
        set { ViewState["pageindex"] = value; }
    }

    public int PageCount
    {
        get { return (int)ViewState["pageCount"]; }
        set { ViewState["pageCount"] = value; }
    }
    tbTicketFAQDataContext seacherFAQ = new tbTicketFAQDataContext();
    DataTable  dtFAQ;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Pageindex = 0;
            ViewState["pageCount"] = 0;
           
            BindDataList();
            this.Panel1.Visible = true;

        }
        else
        {
            this.Panel1.Visible = true;
        }
         
    }
   
    /// <summary>
    /// 绑定datalist
    /// </summary>
    private void BindDataList()
    {
        int pagecount = 0;
        dtFAQ = GetSometbTicketFAQ.getsome(txtquestion.Text.Trim(), Pageindex, out pagecount);
        PageCount = pagecount;
        DataList1.DataSource = dtFAQ;
        DataList1.DataBind();
        
        if (Pageindex == 0)
        {
            this.butFirst.Enabled = false;
            this.butPrev.Enabled = false;
        }
        else
        {
            this.butFirst.Enabled = true;
            this.butPrev.Enabled = true;
        }

        if (Pageindex == PageCount - 1)
        {
            this.butNext.Enabled = false;
            this.butLast.Enabled = false;
        }
        else
        {
            this.butNext.Enabled = true;
            this.butLast.Enabled = true;
        }
        this.lblpagecount.Text = "共有" +  PageCount + "页";
        this.lblpageindex.Text = "当前是" + Convert.ToInt32(Pageindex + 1) + "页";
        this.lblto.Text = "跳到第";

        this.ddlist.Items.Clear();

        for (int i = 0; i <  PageCount; i++)
        {
            this.ddlist.Items.Add(new ListItem((i + 1).ToString(), i.ToString()));
        }

        this.ddlist.SelectedIndex = Pageindex;
       // this.ddlist.SelectedIndexChanged += new EventHandler(ddlist_SelectedIndexChanged);

      
       
    }
    protected void butFirst_Click(object sender, EventArgs e)
    {
        Pageindex = 0;
       
        BindDataList();
    }
    protected void butPrev_Click(object sender, EventArgs e)
    {
        Pageindex--;
      
        BindDataList();
    }
    protected void butNext_Click(object sender, EventArgs e)
    {
        Pageindex++;
       
        BindDataList();
    }
    protected void butLast_Click(object sender, EventArgs e)
    {
        Pageindex = PageCount-1;
       
        BindDataList();
    }

 

 

 /// <summary>
    /// 当DropDownList得index发生变化时
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void ddlist_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList dd = (DropDownList)sender;
        Pageindex = Convert.ToInt32(dd.SelectedValue);
       
        BindDataList();
    
    }

抱歉!评论已关闭.