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;
    }
}

posted @ 2009-03-17 13:53  火精灵  阅读(485)  评论(0编辑  收藏  举报