当前位置:  开发笔记 > 编程语言 > 正文

动态生成table并实现分页效果心得分享

动态生成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("");
foreach (DataRow row in dt.Rows)
{
sb.Append("");
sb.Append("");
sb.Append("");
}
sb.Append("
"+row["NewsTitle"].ToString()+"" + row["NewsContent"].ToString() + "" + row["CreateTime"].ToString() + "
");
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();
}
}
推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有