管理软件开发历程之三主界面

来源:互联网 发布:mac照片怎么导出 编辑:程序博客网 时间:2024/04/30 23:13

开发环境:VS2008、SQL Server2005、Coolite Toolkit

界面:

UI界面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Main.aspx.cs" Inherits="e_HR.Main" %>

<%@ Register assembly="Coolite.Ext.Web" namespace="Coolite.Ext.Web" tagprefix="ext" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>main</title>
         <script type="text/javascript">
        function addTab(tabPanel, id,title, url) {
            var tab = tabPanel.getComponent(id);
            if (!tab) {
                tab = tabPanel.add({
                    id: id,
                    title: title,
                    closable:true,                   
                    autoLoad: {
                        showMask: true,
                        url: url,
                        mode:'iframe',
                        maskMsg: 'Loading ' + title + '...'
                    }                   
                });

                tab.on('activate', function() {
                    var item = MenuPanel1.menu.items.get(id + "_item");
                    if (item) {
                        MenuPanel1.setSelection(item);
                    }

                }, this);
            }
            tabPanel.setActiveTab(tab);
           
        }
    </script>
   <style type="text/css">
        .west-panel .x-layout-collapsed-west{
            background: url(images/e-HR_Menu.png) no-repeat center;
        }
       
        .south-panel .x-layout-collapsed-south{
            background: url(collapsed-south.png) no-repeat center;
        }
    </style>


</head>
<body>
    <form id="form1" runat="server">
    <ext:ScriptManager ID="ScriptManager1" runat="server" />
   
</form>
    <ext:ViewPort ID="ViewPort1" runat="server">
        <Body>
            <ext:BorderLayout ID="BorderLayout1" runat="server">
                <North Collapsible="True" Split="True">
                    <ext:Panel ID="Panel1" runat="server" Height="100" Title="North" Collapsed="True">
                        <Body>
                        </Body>
                    </ext:Panel>
                </North>
<%--                <East Collapsible="true" Split="true">
                    <ext:Panel ID="Panel2" runat="server" Title="East" Width="175">
                        <Body>
                            <ext:FitLayout ID="FitLayout1" runat="server">
                                <ext:TabPanel ID="TabPanel1" runat="server" ActiveTabIndex="0" Border="false" TabPosition="Bottom"
                                    Title="Title">
                                    <Tabs>
                                        <ext:Tab ID="Tab1" runat="server" Title="Tab 1">
                                            <Body>
                                            </Body>
                                        </ext:Tab>
                                        <ext:Tab ID="Tab2" runat="server" Title="Tab 2">
                                            <Body>
                                            </Body>
                                        </ext:Tab>
                                    </Tabs>
                                </ext:TabPanel>
                            </ext:FitLayout>
                        </Body>
                    </ext:Panel>
                </East>
                <South Collapsible="true" Split="true">
                    <ext:Panel ID="Panel3" runat="server" Height="100" Title="South">
                        <Body>
                        </Body>
                    </ext:Panel>
                </South>--%>
                <West Collapsible="true" MinWidth="175" Split="true">
                    <ext:Panel ID="Panel4" runat="server" Title="e-HR Menu" Width="175"  CtCls="west-panel" BodyStyle="padding:5px;">
                        <Body>
                            <ext:Accordion ID="Accordion1" runat="server" Animate="true">
                            </ext:Accordion>
                        </Body>
                    </ext:Panel>
                </West>
<%--                <Center>
                    <ext:Panel ID="Panel7" runat="server" Title="Center">
                        <Body>
                            <ext:FitLayout ID="FitLayout2" runat="server">
                                <ext:TabPanel ID="TabPanel2" runat="server" ActiveTabIndex="0" Border="false" Title="Center">
                                  </ext:TabPanel>
                            </ext:FitLayout>
                        </Body>
                    </ext:Panel>
                </Center>--%>
                      <Center>
                        <ext:TabPanel ID="TabPanel1" runat="server">                              
                        </ext:TabPanel>
                    </Center>

            </ext:BorderLayout>
        </Body>
    </ext:ViewPort>
</body>
</html>

C#后台

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Coolite;
using Coolite.Ext;
using Coolite.Ext.Web;
using Sys_Business;
using System.Data;
using System.Data.SqlClient;

namespace e_HR
{
    public partial class Main : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {  if(!IsPostBack)
            {
                LoadMenu();

            }


        }
        private void LoadMenu()
        {
            DataSet Menus = new DataSet();
            DataSet Menus_Sub = new DataSet();
            DataRow Menus_row;
            DataRow Menus_Sub_row;
            MenuPanel AddMenuPanel;
            string AdditemID;
            string AdditemTitle;
            //Coolite.Ext.Web.Menu AddMenu;
            Coolite.Ext.Web.MenuItem Additem;
            Menus = Sys_Business.Systeminfo.Menus(0);
            //          if (ds != null && ds.Tables[0].Rows.Count > 0)
            //{
            //    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            if (Menus != null && Menus.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < Menus.Tables[0].Rows.Count; i++)
                {
                    Menus_row = Menus.Tables[0].Rows[i];
                    AddMenuPanel = new MenuPanel();
                    //AddMenu = new Coolite.Ext.Web.Menu();
                    AddMenuPanel.ID = "MenuPanel" + Menus_row["ID"].ToString();
                    AddMenuPanel.Title = Menus_row["Name_CN"].ToString();
                    //AddMenu.ID = "Menu" + Menus_row["ID"].ToString();
                    //AddMenuPanel.AddScript("<Menu>");
                    Accordion1.Items.Add(AddMenuPanel);
                    Menus_Sub = Sys_Business.Systeminfo.Menus(Convert.ToInt16(Menus_row["ID"]));
                    if (Menus_Sub != null && Menus_Sub.Tables[0].Rows.Count > 0)
                        for (int j = 0; j < Menus_Sub.Tables[0].Rows.Count; j++)
                        {
                            Menus_Sub_row = Menus_Sub.Tables[0].Rows[j];
                            AdditemID=  Menus_Sub_row["ID"].ToString();
                            AdditemTitle=Menus_Sub_row["Name_CN"].ToString();
                            Additem = new Coolite.Ext.Web.MenuItem();
                            Additem.ID = AdditemID;
                            Additem.Text = AdditemTitle;
                            Additem.Listeners.Click.Handler = "addTab(#{TabPanel1}, '" + AdditemID + "','" + AdditemTitle + "', 'http://www.coolite.com');";
                            AddMenuPanel.Menu.Items.Add(Additem);
                        }
                }


            }

        }

        //protected void CreataTab_Click(object sender, AjaxEventArgs e)
        //{
        //    var tab = new Tab("通过AjaxEvent新增Tab");
        //    tab.TabIndex = short.Parse("11");
        //    tab.ID = "tabID";
        //    tab.AutoLoad.Url = "http://www.cnblogs.com";
        //    tab.AutoLoad.NoCache = true;
        //    tab.AutoLoad.Mode = LoadMode.IFrame;
        //    this.TabPanel1.Tabs.Add(tab);
        //    this.TabPanel1.ActiveTab = tab;
        //} 
    }
}

原创粉丝点击