• 动态生成table并实现分页效果


    前台代码:

            <table style=" 100%;">             <tr>                 <td>                搜索字:     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>                 <asp:Button ID="Button1" runat="server" Text="搜索" OnClick="Button1_Click" />                     </td>             </tr>             <tr>                 <td>                    <div id="divmain" runat="server"> </div>                 </td>             </tr>             <tr>                 <td>                     <asp:Button ID="btnFirst" runat="server" Text="首页" OnClick="btnFirst_Click" />                       <asp:Button ID="btnPro" runat="server" Text="上一页" OnClick="btnPro_Click" />                       <asp:Button ID="btnNext" runat="server" Text="下一页" OnClick="btnNext_Click" />                       <asp:Button ID="btnLast" runat="server" Text="末页" OnClick="btnLast_Click" />                 &nbsp;<asp:Label ID="labCountPage" runat="server"></asp:Label>                     <asp:Label ID="labpage" runat="server"></asp:Label>                     <asp:TextBox ID="TextBox2" runat="server" Width="16px"></asp:TextBox>                     <asp:Button ID="btnGo" runat="server" OnClick="btnGo_Click" Text="Go" />                 </td>

                </tr>         </table>

    后台代码:

            protected void Page_Load(object sender, EventArgs e)         {             if (!IsPostBack)             {                 ViewState["pageIndex"] = 1;                 dataPage();             }         }

            private void dataPage()         {             string constr = @"data source=.;initial catalog=News;user id=sa;password=111111;";             SqlConnection conn = new SqlConnection(constr);             conn.Open();             SqlCommand cmd = conn.CreateCommand();

                #region 用存储过程实现数据分页效果

                    //cmd.CommandType = CommandType.StoredProcedure;                 //cmd.CommandText = "Pro_SelectNewsPage";                 //cmd.Parameters.AddWithValue("@pageIndex", Convert.ToInt32(ViewState["pageIndex"]));                 //cmd.Parameters.AddWithValue("@pageSize", 3);                 //SqlParameter parm = new SqlParameter("@count", SqlDbType.Int);                 //cmd.Parameters.Add(parm);                 //parm.Direction = ParameterDirection.Output;             #endregion

                #region 传递SQl语句实现分页并对搜索实现分页默认显示两条记录             cmd.CommandType = CommandType.Text;             cmd.CommandText = "select top 2 * from (select * from T_News where NewsTitle like @title) as t where t.Id not in(select top ((@pageIndex-1)*2) t.Id from (select * from T_News where NewsTitle like @title) as t) order by t.Id";             cmd.Parameters.AddWithValue("@pageIndex", Convert.ToInt32(ViewState["pageIndex"]));             cmd.Parameters.AddWithValue("@title","%"+TextBox1.Text.Trim()+"%");             #endregion             SqlDataAdapter adapter = new SqlDataAdapter(cmd);             DataTable dt = new DataTable();             adapter.Fill(dt);             //ViewState["pageCount"] = parm.Value;

                cmd.CommandText = "select count(*) from T_News where NewsTitle like @titles";             cmd.Parameters.AddWithValue("@titles", "%" + TextBox1.Text.Trim() + "%");            int sum = Convert.ToInt32(cmd.ExecuteScalar());            if (sum % 2 == 0)            {                ViewState["pageCount"] = sum/2;            }            else            {                ViewState["pageCount"] = sum / 2 + 1;            }             conn.Close();             conn.Dispose();

                StringBuilder sb = new StringBuilder();             sb.Append("<table>");             foreach (DataRow row in dt.Rows)          {                 sb.Append("<tr><td>"+row["NewsTitle"].ToString()+"</td>");                 sb.Append("<td>" + row["NewsContent"].ToString() + "</td>");                 sb.Append("<td>" + row["CreateTime"].ToString() + "</td></tr>");          }             sb.Append("</table>");             divmain.InnerHtml = sb.ToString();             labCountPage.Text = "总共" + ViewState["pageCount"] + "页";             labpage.Text = "当前第" + ViewState["pageIndex"] + "页";         }

            protected void Button1_Click(object sender, EventArgs e)         {             ViewState["pageIndex"] = "1";             dataPage();         }

            protected void btnFirst_Click(object sender, EventArgs e)         {             ViewState["pageIndex"] = "1";             dataPage();         }

            protected void btnPro_Click(object sender, EventArgs e)         {             int index = Convert.ToInt32(ViewState["pageIndex"]);             index--;             if (index >= 1)             {                 ViewState["pageIndex"] = index;                 dataPage();             }         }

            protected void btnNext_Click(object sender, EventArgs e)         {             int index = Convert.ToInt32(ViewState["pageIndex"]);             index++;             if (index <= Convert.ToInt32(ViewState["pageCount"]))             {                 ViewState["pageIndex"] = index;                 dataPage();             }         }

            protected void btnLast_Click(object sender, EventArgs e)         {             ViewState["pageIndex"] =ViewState["pageCount"];             dataPage();         }

            protected void btnGo_Click(object sender, EventArgs e)         {             int i=Convert.ToInt32(TextBox2.Text);             if (i > 0 && i <= Convert.ToInt32(ViewState["pageCount"]))             {                 ViewState["pageIndex"] = i;                 dataPage();             }

            }

  • 相关阅读:
    02.CentOS Linux 7.7 Nginx安装部署文档
    rpm操作
    mysql命令行备份方法
    nginx reload的原理
    Linux操作笔记
    mysql账户授权
    centos系统内核升级
    docker随笔
    linux系统查看当前正在运行的服务
    数据库锁表问题
  • 原文地址:https://www.cnblogs.com/qiqiBoKe/p/3010907.html
Copyright © 2020-2023  润新知