asp.netpager 7.0结合PagedDataSource分页
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Notice : System.Web.UI.Page
{
public comment.common comm = new comment.common();
Bll.user myuser = new Bll.user();
DataTable dt = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Session["username"] != null)
{
if (myuser.UserLimits(Session["username"].ToString(), "2"))
{
bindv();
}
else
{
comm.Msgshow("你无权进行此项操作,系统将自动返回首页", "log.aspx");
}
}
else
{
comm.Msgshow("你还没有登录", "");
comm.sessionunable();
}
}
}
protected void bindv()
{
if (Session["username"] != null)
{
if (myuser.UserLimits(Session["username"].ToString(), "2"))
{
try
{
dt = myzdydt();
AspNetPager1.RecordCount = dt.Rows.Count;
PagedDataSource ObjPage = new PagedDataSource();
ObjPage.DataSource = dt.DefaultView;
ObjPage.AllowPaging = true;
ObjPage.PageSize = AspNetPager1.PageSize;
ObjPage.CurrentPageIndex = AspNetPager1.CurrentPageIndex-1;
GridView1.DataSource = ObjPage;
GridView1.DataBind();
}
catch (Exception ex)
{
throw ex;
//comm.Msgshow("无法操作", "log.aspx");
}
}
}
else
{
}
}
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
bindv();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int userid = Convert.ToInt32(Session["userid"]);
dt = myuser.getuserbasicinfo(userid);
int Areacode = Convert.ToInt32(dt.Rows[0]["AreaCode"].ToString());
Button btn1 = ((Button)e.Row.FindControl("Button1"));
Button btn2 = ((Button)e.Row.FindControl("Button2"));
int MyAreaCode = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "AreaCode"));
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (Areacode == MyAreaCode)
{
btn1.Enabled = true;
btn2.Enabled = true;
}
else
{
btn1.Enabled = false;
btn2.Enabled = false;
}
}
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string commandname = e.CommandName;
int id = Convert.ToInt32(e.CommandArgument.ToString());
int count = 0;
switch (commandname)
{
case "browser":
Response.Write("<script>window.open('Tzbrowser.aspx?id=" + id + "')</script>");
break;
case "Modfiy":
Response.Redirect("addNotice.aspx?id=" + id + "");
break;
case "del":
count = dbsql.DbHelperSQL.ExecuteSql("delete from DisLearing_Noticelist where ID=" + id + "");
if (count > 0)
{
comm.Msgshow("删除成功", "Notice.aspx");
}
else
{
comm.Msgshow("删除失败", "Notice.aspx");
}
break;
}
}
public DataTable myzdydt()
{
//int userid = Convert.ToInt32(Session["userid"]);
//dt = myuser.getuserbasicinfo(userid);
//int Areacode = Convert.ToInt32(dt.Rows[0]["AreaCode"].ToString());
//dt = myuser.getArealist(false, Areacode);
//int AreaLevel = Convert.ToInt32(dt.Rows[0]["AreaLevel"].ToString());
//dt = dbsql.DbHelperSQL.Query("select * from DisLearing_Noticelist where userid=" + userid + " or tzarea like '%" + AreaLevel + "%'").Tables[0];
//AspNetPager1.RecordCount = dt.Rows.Count;
//string sql = "select top " + AspNetPager1.PageSize + " * from DisLearing_Noticelist as a where a.id<all(select top " + (AspNetPager1.CurrentPageIndex - 1) * AspNetPager1.PageSize + " id from DisLearing_Noticelist where userid=" + userid + " or tzarea like '%" + AreaLevel + "%' order by id desc) order by a.id desc";
//dt = dbsql.DbHelperSQL.Query(sql).Tables[0];
DataTable mydt = new DataTable();
mydt.Columns.Add("ID", Type.GetType("System.Int32"));
mydt.Columns.Add("AreaCode", Type.GetType("System.Int32"));
mydt.Columns.Add("title", Type.GetType("System.String"));
mydt.Columns.Add("addtime", Type.GetType("System.String"));
int userid = Convert.ToInt32(Session["userid"]);
dt = myuser.getuserareainfo(userid);
int Areacode = Convert.ToInt32(dt.Rows[0]["AreaCode"].ToString());
int ParentCode = Convert.ToInt32(dt.Rows[0]["ParentCode"].ToString());
int AreaLevel=Convert.ToInt32(dt.Rows[0]["AreaLevel"].ToString());
if (ParentCode == -1)
{//超级管理员,可以查看所有通知
mydt = null;
mydt = dbsql.DbHelperSQL.Query("select * from DisLearing_Noticelist order by addtime desc").Tables[0];
return mydt;
}
else
{
DataTable NextArea = null;
if (AreaLevel == 0)
{//省级帐号,查看市一级通知,即下一级通知
DataTable MyNotice = dbsql.DbHelperSQL.Query("select * from DisLearing_Noticelist where Areacode=" + Areacode + "").Tables[0];
if (MyNotice.Rows.Count > 0&&MyNotice!=null)
{
for (int i = 0; i < MyNotice.Rows.Count; i++)
{
DataRow NewRow = mydt.NewRow();
NewRow["ID"] = Convert.ToInt32(MyNotice.Rows[i]["ID"].ToString());
NewRow["AreaCode"] = Convert.ToInt32(MyNotice.Rows[i]["AreaCode"].ToString());
NewRow["title"] = MyNotice.Rows[i]["title"].ToString();
NewRow["addtime"] = MyNotice.Rows[i]["addtime"].ToString();
mydt.Rows.Add(NewRow);
}
}
NextArea = getNextAreadt(Areacode);
if (NextArea!=null)
{
for (int i = 0; i < NextArea.Rows.Count; i++)
{
DataRow NewRow = mydt.NewRow();
NewRow["ID"] = Convert.ToInt32(NextArea.Rows[i]["ID"].ToString());
NewRow["AreaCode"] = Convert.ToInt32(NextArea.Rows[i]["AreaCode"].ToString());
NewRow["title"] = NextArea.Rows[i]["title"].ToString();
NewRow["addtime"] = NextArea.Rows[i]["addtime"].ToString();
mydt.Rows.Add(NewRow);
}
}
if (mydt.Rows.Count > 0)
{
DataView dv = mydt.DefaultView;
dv.Sort = "addtime Desc";
mydt = dv.ToTable();
}
else
{
mydt = null;
}
return mydt;
}
else
{//查看修改本级通知,查看省一级通知,查看下一级通知
DataTable ParentNotice = dbsql.DbHelperSQL.Query("select * from DisLearing_Noticelist where Areacode=" + ParentCode + "").Tables[0];
if (ParentNotice.Rows.Count > 0)
{
for (int i = 0; i < ParentNotice.Rows.Count; i++)
{
DataRow NewRow = mydt.NewRow();
NewRow["ID"] = Convert.ToInt32(ParentNotice.Rows[i]["ID"].ToString());
NewRow["AreaCode"] = Convert.ToInt32(ParentNotice.Rows[i]["AreaCode"].ToString());
NewRow["title"] = ParentNotice.Rows[i]["title"].ToString();
NewRow["addtime"] = ParentNotice.Rows[i]["addtime"].ToString();
mydt.Rows.Add(NewRow);
}
}
DataTable MyNotice = dbsql.DbHelperSQL.Query("select * from DisLearing_Noticelist where Areacode=" + Areacode + "").Tables[0];
if (MyNotice.Rows.Count > 0)
{
for (int i = 0; i < MyNotice.Rows.Count; i++)
{
DataRow NewRow = mydt.NewRow();
NewRow["ID"] = Convert.ToInt32(MyNotice.Rows[i]["ID"].ToString());
NewRow["AreaCode"] = Convert.ToInt32(MyNotice.Rows[i]["AreaCode"].ToString());
NewRow["title"] = MyNotice.Rows[i]["title"].ToString();
NewRow["addtime"] = MyNotice.Rows[i]["addtime"].ToString();
mydt.Rows.Add(NewRow);
}
}
NextArea = getNextAreadt(Areacode);
if (NextArea!=null)
{
for (int i = 0; i < NextArea.Rows.Count; i++)
{
DataRow NewRow = mydt.NewRow();
NewRow["ID"] = Convert.ToInt32(NextArea.Rows[i]["ID"].ToString());
NewRow["AreaCode"] = Convert.ToInt32(NextArea.Rows[i]["AreaCode"].ToString());
NewRow["title"] = NextArea.Rows[i]["title"].ToString();
NewRow["addtime"] = NextArea.Rows[i]["addtime"].ToString();
mydt.Rows.Add(NewRow);
}
}
if (mydt.Rows.Count > 0)
{
DataView dv = mydt.DefaultView;
dv.Sort = "addtime Desc";
mydt = dv.ToTable();
}
else
{
mydt = null;
}
return mydt;
}
}
}
public DataTable getNextAreadt(int ParentCode)
{
DataTable mydt = new DataTable();
mydt.Columns.Add("ID", Type.GetType("System.Int32"));
mydt.Columns.Add("AreaCode", Type.GetType("System.Int32"));
mydt.Columns.Add("title", Type.GetType("System.String"));
mydt.Columns.Add("addtime", Type.GetType("System.String"));
DataTable NextArea = dbsql.DbHelperSQL.Query("select * from DisLearing_AreaInfo where ParentCode=" + ParentCode + "").Tables[0];
DataTable Noticedt = null;
if (NextArea.Rows.Count > 0)
{
DataRow NewRow;
int AreaCode = 0;
for (int i = 0; i < NextArea.Rows.Count; i++)
{
AreaCode = Convert.ToInt32(NextArea.Rows[i]["AreaCode"].ToString());
Noticedt = dbsql.DbHelperSQL.Query("select * from DisLearing_Noticelist where AreaCode=" + AreaCode + "").Tables[0];
if (Noticedt.Rows.Count > 0)
{
for (int j = 0; j < Noticedt.Rows.Count; j++)
{
NewRow = mydt.NewRow();
NewRow["ID"] = Convert.ToInt32(Noticedt.Rows[j]["ID"].ToString());
NewRow["AreaCode"] = Convert.ToInt32(Noticedt.Rows[j]["AreaCode"].ToString());
NewRow["title"] = Noticedt.Rows[j]["title"].ToString();
NewRow["addtime"] = Noticedt.Rows[j]["addtime"].ToString();
mydt.Rows.Add(NewRow);
}
}
}
}
else
{
mydt = null;
}
return mydt;
}
}