时间:2016-02-16 01:29 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【动态生成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("<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();
}
}
关于动态生成table并实现分页效果心得分享的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【增加记录】asp.net中获取新增加记录的ID Access
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
