asp.net Oracle数据库左侧目录树及右侧数据绑定及分页

简介: 效果图如下:  当前位置:水利管理 >> ...

效果图如下:

 
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
    CodeFile="SLGL_List.aspx.cs" Inherits="SLGL_List" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
   <div id="warp">
         <div class="nyl">
    <div class="position"><img src="images/home2.png" />当前位置:水利管理 >> 
                        <span style="color: #0376B9;">
                            <asp:Label Text="" ID="lblPos" runat="server" /></span></div>
    <div class="sideBar">
     <div class="sideBar_title">
      <span><img src="images/noticico.jpg" /></span>
      <h1>水利管理</h1>             </div>
     <div class="sideBar_menu">
    <ul id="leftlist" runat="server">
             </ul>
    </div>
  </div>
    <div class="sidebar_r">
      <div class="ctllf_title"><asp:Label ID="lblMsg" runat="server" class="tab1_bg"></asp:Label></div>
   <div class="ctllf_txt2">
    <ul class="right_mid" id="detailslist" runat="server">
    </ul>
    <div class="pagination">
     共<asp:Label ID="lblTotal" runat="server"></asp:Label>条记录 <asp:Label ID="lblCurrentPage" runat="server"></asp:Label>/<asp:Label ID="lblPageNumber" runat="server"></asp:Label> 页  
     <asp:LinkButton id="aFirst" runat="server" CausesValidation="false" OnCommand="aFirst_OnCommand">首页</asp:LinkButton> 
     <asp:LinkButton id="aPre" runat="server" CausesValidation="false" OnCommand="aPre_OnCommand">上一页</asp:LinkButton> 
     <asp:LinkButton id="aNext" runat="server" CausesValidation="false" OnCommand="aNext_OnCommand">下一页</asp:LinkButton> 
     <asp:LinkButton id="aLast" runat="server"  CausesValidation="false" OnCommand="aLast_OnCommand">尾页</asp:LinkButton> 
      第
     <asp:DropDownList ID="ddlPageNumber" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlPageNumber_OnSelectedIndexChaged"></asp:DropDownList>
     页
    </div>     
   </div>
    </div>
  </div>
  <div class="clear"></div>
</div>
<div class="conbotbg"></div>
<asp:HiddenField ID="hf" runat="server" Value="T1" />
<script type="text/javascript">
    $(function () {
        $("#ContentPlaceHolder1_leftlist >li").each(function (i) {
            if ($(this).attr("id") == $("#<%=hf.ClientID%>").val()) {
                $(this).find("a").css("color", "red");
            }
            else {
                $(this).find("a").css("color", "black");
            }
        });
    });
</script>
</asp:Content>




using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using USTC;
using System.Data;
using System.Text;
using System.Web.UI.HtmlControls;

public partial class SLGL_List : System.Web.UI.Page
{
    OracleDM dm = new OracleDM();

    public string TYPE = ""; //类型
    public int CURRENT_PAGE_INDEX = 1; //当前页数
    public int PAGE_SIZE = 11; //每页显示记录条数
    public int TOTAL_DATA = 0; //总记录条数
    public int PAGE_NUMBER = 1; //页数(计算值)

    /// <summary>
    /// 内容页中找母版页中的控件,并设置颜色
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    void Page_LoadComplete(Object sender, EventArgs e)
    {
        (Master.FindControl("mT1") as HtmlAnchor).Attributes.Remove("class");
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {

            BindKSXX();//先动态绑定科室信息
            string type = "";
            if (Request.QueryString["ID"] != null)
            {
                string Id = Request.QueryString["ID"].ToString();
                type = getType(Id);
            }
            if (Request.QueryString["type"] != null)
            {
                type = Server.UrlDecode(Request.QueryString["type"].ToString());
            }
            else
            {
                type = "水利管理";
            }
            if (Request.QueryString["pid"] != null)
            {
                hf.Value = Request.QueryString["pid"].ToString();
            }

            ViewState["TYPE"] = type;
            this.lblPos.Text = type;
            this.lblMsg.Text = type;
            ViewState["CURRENT_PAGE_INDEX"] = CURRENT_PAGE_INDEX;
            getTotalRecordNumbers(type);
            BindContentByMenuAndPageSize(type, PAGE_SIZE, 1); //默认显示当前类别的第一页数据
            this.lblTotal.Text = TOTAL_DATA.ToString(); //总记录条数
            PAGE_NUMBER = (int)Math.Ceiling(((decimal)TOTAL_DATA) / ((decimal)PAGE_SIZE));
            ViewState["PAGE_NUMBER"] = PAGE_NUMBER;
            this.lblPageNumber.Text = PAGE_NUMBER.ToString(); //总记录页数
            this.lblCurrentPage.Text = "1";
            if (TOTAL_DATA == 0)
            {
                this.lblPageNumber.Text = "1";
            }
            if (this.lblCurrentPage.Text == this.lblPageNumber.Text)
            {
                //就一页的话,四个按钮均不可用
                this.aFirst.Enabled = false;
                this.aPre.Enabled = false;
                this.aNext.Enabled = false;
                this.aLast.Enabled = false;
            }
            BindDropDownList();
        }
    }


    public string getType(string Id)
    {
        string type = "";
        string sql = "select * from T_SMALLCLASS where BIGID=(select ID from T_BIGCLASS where  TITLE='水利管理') and ID='" + Id + "'";
        DataSet ds = dm.getsql(sql);
        if (ds.Tables[0].Rows.Count > 0 && ds != null)
        {
            type = ds.Tables[0].Rows[0]["TITLE"].ToString().Trim();
        }
        else
        {
            type = "水利管理";
        }
        return type;
    }

    /// <summary>
    /// 防汛抗旱子目录菜单动态绑定
    /// </summary>
    public void BindKSXX()
    {
        StringBuilder sb = new StringBuilder();
        string sql = "select * from T_SMALLCLASS where BIGID=(select ID from T_BIGCLASS where  TITLE='水利管理')";
        DataSet ds = dm.getsql(sql);
        int index = 1;
        if (ds != null && ds.Tables[0].Rows.Count > 0)
        {
            foreach (DataRowView drv in ds.Tables[0].DefaultView)
            {
                sb.Append("<li id=\"T" + index + "\" runat=\"server\"><a title=\"" + drv["TITLE"].ToString().Trim() + "\" href=\"SLGL_List.aspx?type=" + Server.UrlEncode(drv["TITLE"].ToString().Trim()) + "&mId=mT7&pid=T" + index + "\">" + drv["TITLE"].ToString().Trim() + "</a></li>");
                index++;
            }
        }
        else
        {

        }
        this.leftlist.InnerHtml = sb.ToString();
    }

    /// <summary>
    /// 获取总的记录条数
    /// </summary>
    /// <param name="type"></param>
    /// <returns></returns>
    public int getTotalRecordNumbers(string type)
    {
        string sql = @"select ID, TITLE,S_Content,ReleaseTime from (select  a.ID, a.SMALLID,a.Title,a.RELEASETIME RELEASETIME , b.Title bTitle,b.s_Content  from  t_leastclass  a left join t_smallclass   b on a.SMALLID=b.ID and b.Title='" + type + @"' where b.ID in(select a.id from  t_smallclass a left join t_bigclass b on a.BigID=b.id where b.Title='水利管理') order by a.RELEASETIME desc)";
        DataSet ds = dm.getsql(sql);
        TOTAL_DATA = ds.Tables[0].Rows.Count;
        return TOTAL_DATA;
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="type"></param>
    /// <param name="pageSize"></param>
    /// <param name="pageIndex"></param>
    public void BindContentByMenuAndPageSize(string type, int pageSize, int pageIndex)
    {
        StringBuilder sb = new StringBuilder();
        string sql = @"select ID, TITLE,S_Content,ReleaseTime,orderNumber  from (select  a.ID, a.SMALLID,a.Title,a.RELEASETIME RELEASETIME , b.Title bTitle,b.s_Content,row_number() over(order by a.RELEASETIME desc) orderNumber  from         
   t_leastclass  a left join t_smallclass   b on a.SMALLID=b.ID and b.Title='" + type + @"' where b.ID in(select a.id from  t_smallclass a left    
             join t_bigclass b on a.BigID=b.id where b.Title='水利管理') order by a.RELEASETIME desc)where orderNumber between " + ((pageIndex - 1) * pageSize + 1) + " and  " + pageIndex * pageSize + "";
        DataSet ds = dm.getsql(sql);
        foreach (DataRowView drv in ds.Tables[0].DefaultView)
        {
            sb.Append("<li><a title=\"" + drv["TITLE"].ToString().Trim() + "\" href=\"lashgc.aspx?ID=" + drv["ID"] + "&mId=mT7\" target=\"_blank\"><div class=\"f_time\">" + DateTime.Parse(drv["ReleaseTime"].ToString()).ToString("yyyy-MM-dd") + "</div>" + drv["TITLE"].ToString() + "</a></li>");
        }
        this.detailslist.InnerHtml = sb.ToString();
    }


    /// <summary>
    /// 首页
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    public void aFirst_OnCommand(object sender, CommandEventArgs e)
    {
        this.aFirst.Enabled = false;
        this.aPre.Enabled = false;
        this.aLast.Enabled = true;
        this.aNext.Enabled = true;

        BindContentByMenuAndPageSize(ViewState["TYPE"].ToString(), PAGE_SIZE, int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()));
        this.lblCurrentPage.Text = "1";
        ViewState["CURRENT_PAGE_INDEX"] = "1";
    }

    /// <summary>
    /// 上一页
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    public void aPre_OnCommand(object sender, CommandEventArgs e)
    {

        ViewState["CURRENT_PAGE_INDEX"] = int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()) - 1;
        this.lblCurrentPage.Text = int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()).ToString();
        BindContentByMenuAndPageSize(ViewState["TYPE"].ToString(), PAGE_SIZE, int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()));
        if (int.Parse(this.lblCurrentPage.Text) == int.Parse(this.lblPageNumber.Text))
        {
            this.aLast.Enabled = false;
            this.aNext.Enabled = false;
        }
        else
        {
            this.aLast.Enabled = true;
            this.aNext.Enabled = true;
        }
        if (Convert.ToInt32(lblCurrentPage.Text) == 1)
        {
            this.aPre.Enabled = false;
            this.aFirst.Enabled = false;
        }
        else
        {
            this.aPre.Enabled = true;
            this.aFirst.Enabled = true;
        }
        this.ddlPageNumber.ClearSelection();
        this.ddlPageNumber.Items.FindByText(this.lblCurrentPage.Text.Trim()).Selected = true;
    }

    /// <summary>
    /// 下一页
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    public void aNext_OnCommand(object sender, CommandEventArgs e)
    {

        ViewState["CURRENT_PAGE_INDEX"] = int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()) + 1;
        this.lblCurrentPage.Text = int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()).ToString();
        BindContentByMenuAndPageSize(ViewState["TYPE"].ToString(), PAGE_SIZE, int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()));
        if (int.Parse(this.lblCurrentPage.Text) == int.Parse(this.lblPageNumber.Text))
        {
            this.aLast.Enabled = false;
            this.aNext.Enabled = false;
        }
        else
        {
            this.aLast.Enabled = true;
            this.aNext.Enabled = true;
        }
        if (Convert.ToInt32(lblCurrentPage.Text) + 1 > 1)
        {
            this.aPre.Enabled = true;
            this.aFirst.Enabled = true;
        }
        else
        {
            this.aPre.Enabled = false;
            this.aFirst.Enabled = false;
        }
        this.ddlPageNumber.ClearSelection();
        this.ddlPageNumber.Items.FindByText(this.lblCurrentPage.Text.Trim()).Selected = true;
    }

    /// <summary>
    /// 尾页
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    public void aLast_OnCommand(object sender, CommandEventArgs e)
    {
        ViewState["CURRENT_PAGE_INDEX"] = ViewState["PAGE_NUMBER"];
        this.aLast.Enabled = false;
        this.aNext.Enabled = false;
        this.aFirst.Enabled = true;
        this.aPre.Enabled = true;
        BindContentByMenuAndPageSize(ViewState["TYPE"].ToString(), PAGE_SIZE, int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()));
        this.lblCurrentPage.Text = int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()).ToString();
    }

    public string MyContent3(string input)
    {
        string ret = "";

        if (string.IsNullOrEmpty(input))
        {
            ret = "";
        }
        else
        {
            if (input.Length > 8)
            {
                ret = input.Substring(0, 10);
            }
            else
            {
                ret = input;
            }
        }
        return ret;
    }

    public void BindDropDownList()
    {
        int page = int.Parse(ViewState["PAGE_NUMBER"].ToString());
        if (page == 0)
        {
            //没有记录
            ddlPageNumber.Items.Add(new ListItem("1"));
        }
        else
        {
            //有记录
            for (int i = 1; i <= page; i++)
            {
                ddlPageNumber.Items.Add(new ListItem(i.ToString()));
            }
        }

    }

    public void ddlPageNumber_OnSelectedIndexChaged(object sender, EventArgs e)
    {
        ViewState["CURRENT_PAGE_INDEX"] = (sender as DropDownList).SelectedItem.Text;
        this.lblCurrentPage.Text = int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()).ToString();
        if (int.Parse(this.lblCurrentPage.Text) == int.Parse(this.lblPageNumber.Text))
        {
            this.aLast.Enabled = false;
            this.aNext.Enabled = false;
        }
        else
        {
            this.aLast.Enabled = true;
            this.aNext.Enabled = true;
        }
        if (Convert.ToInt32(lblCurrentPage.Text) + 1 > 1)
        {
            this.aPre.Enabled = true;
            this.aFirst.Enabled = true;
        }
        else
        {
            this.aPre.Enabled = false;
            this.aFirst.Enabled = false;
        }
        BindContentByMenuAndPageSize(ViewState["TYPE"].ToString(), PAGE_SIZE, int.Parse(ViewState["CURRENT_PAGE_INDEX"].ToString()));
    }
}

 

 

 

 

相关文章
|
29天前
|
开发框架 JavaScript .NET
asp.net中条件查询+分页
asp.net中条件查询+分页
15 1
|
1月前
|
存储 NoSQL Redis
【Redis】利用Redis List实现数据库分页快速查询
【Redis】利用Redis List实现数据库分页快速查询
84 0
|
1月前
|
存储 缓存 NoSQL
利用Redis List实现数据库分页快速查询的有效方法
利用Redis List实现数据库分页快速查询的有效方法
|
2月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
35 4
|
2月前
|
SQL 人工智能 运维
数据库基础入门 — SQL排序与分页
数据库基础入门 — SQL排序与分页
25 0
|
3月前
|
存储 NoSQL Java
【Redis】利用 Redis List 实现 Java 数据库分页快速查询
在大型应用中,数据库分页查询是日常开发中不可避免的需求之一。随着数据量的不断增加,传统的数据库分页方式可能会变得效率较低。为了解决这一问题,本文将介绍如何使用 Redis List 数据结构,结合 Java 编程语言,实现高效的数据库分页查询。
111 9
|
6月前
|
开发框架 .NET 数据库
asp.net企业费用报销管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
asp.net 企业费用报销管理信息系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使 用c#语言开发 应用技术:asp.net c#+sqlserver 开发工具:vs2010 +sqlserver
49 0
|
6月前
|
SQL 数据库
数据库基础入门 — SQL排序与分页
数据库基础入门 — SQL排序与分页
41 0
|
7月前
|
SQL 关系型数据库 MySQL
数据库深分页介绍及优化方案
在前端页面显示,为了避免一次性展示全量数据,通过上下翻页或指定页码的方式查看部分数据,就像翻书一样,这就利用了 MySQL 的分页查询。
138 0
|
8月前
|
关系型数据库 MySQL 数据库
MySQL数据库中的排序与分页的操作详解
MySQL数据库中的排序与分页的操作详解
74 0