asp.net 组织结构图控件
记得之前做项目的时候客户需要看一个组织结构图,从而了解一下公司的概况,本来自己之前没有做过这方面的控件,只好找度娘,出于对项目的完美,网上很多控件画面感比较渣,后来只能在这些个中挑个比较好的来做,先看图:
第一个:
出自:http://philogb.github.io/jit/demos.html 可以去看看。
第二个:
这个控件的出处我记不清了,至于喜欢哪款,那就仁者见仁智者见智了。
第一款技术实现 看这 :http://philogb.github.io/jit/demos.html
第二款技术实现:http://files.cnblogs.com/files/houlin/Org.zip 源码
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="asp_Demo.aspx.cs" Inherits="OrgCharts_asp_Demo" %>
- <%@ Register Assembly="BPOrgDiagram" Namespace="BasicPrimitives.OrgDiagram" TagPrefix="cc1" %>
- <!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></title>
- <script type="text/javascript" src="../Scripts/jquery-1.9.1.js"></script>
- <script type="text/javascript" src="../Scripts/jquery-ui-1.10.2.custom.min.js"></script>
- <script type="text/javascript" src="../Scripts/json3.min.js"></script>
- <link rel="stylesheet" type="text/css" href="../Scripts/ui-lightness/jquery-ui-1.10.2.custom.min.css" />
- <link href="../Scripts/primitives.latest.css" rel="stylesheet" />
- <script type="text/javascript" src="../Scripts/primitives.min.js?204"></script>
- <style type="text/css">
- #Form
- {
- width: %;
- }
- </style>
- </head>
- <body>
- <form id="Form" runat="server">
- <asp:ScriptManager ID="ScriptManager" runat="server">
- </asp:ScriptManager>
- <div style="width: 100%; float: left;">
- <cc1:OrgDiagramServerControl ID="orgDiagram" runat="server" BorderColor="White"
- BorderStyle="Solid" BorderWidth="1px" Width="100%" Style="margin-right: 0px;
- top: 48px; left: 11px; height: 800px;" OnItemCheckChanged="orgDiagram_ItemCheckChanged"
- OnSelectedItemChanged="orgDiagram_SelectedItemChanged" Height="700px" MaximumColumnsInMatrix=""
- DotItemsInterval="" DotLevelShift="" ChildrenPlacementType="Horizontal" OnTemplateButtonClick="orgDiagram_TemplateButtonClick">
- <Buttons>
- <cc1:Button Name="展开" />
- <%--<cc1:Button Icon="Locked" Name="Locked" />--%>
- <cc1:Button Icon="Print" Name="以此为父节点导出EXCEL" />
- </Buttons>
- </cc1:OrgDiagramServerControl>
- </div>
- </form>
- <script type="text/javascript" src="../Scripts/UserTemplates.js?1029"></script>
- </body>
- </html>
后台实现:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using BasicPrimitives.OrgDiagram;
- using System.Drawing;
- using BasicPrimitivesDemo;
- using System.Data;
- using CAF.DBUtility;
- using Microsoft.Office.Interop.Excel;
- public partial class OrgCharts_asp_Demo : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- // only bind the data on the first page load...只有绑定第一页上的数据加载…
- if (!Page.IsPostBack)
- {
- GetData();
- }
- }
- protected void orgDiagram_SelectedItemChanged(object sender, EventArgs e)
- {
- Item selectedItem = this.orgDiagram.SelectedItem;
- }
- protected void orgDiagram_ItemCheckChanged(object sender, EventArgs e)
- {
- Items checkedItems = this.orgDiagram.CheckedItems;
- }
- /// <summary>
- /// 点击框边的按钮触发的事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- protected void orgDiagram_TemplateButtonClick(object sender, TemplateButtonClickEventArgs e)
- {
- String buttonName = e.ButtonName;//三按钮的名称
- Item clickedButtonItem = e.Item;
- string p_id = clickedButtonItem.Value;
- if (buttonName == "以此为父节点导出EXCEL")
- {
- //Excel_Out(p_id);
- //SetRangeBackground(4, 2, 6, 4, 003366);
- }
- else if (buttonName == "展开" && p_id != "")
- {
- AddOrg(clickedButtonItem, clickedButtonItem.Value);
- }
- }
- /// <summary>
- /// 获取Data
- /// </summary>
- private void GetData()
- {
- this.orgDiagram.Items.Clear();
- DataSet ds = CAF.DBUtility.SqlHelper.ExecuteDataSet(" ");//数据源
- this.ViewState["ds"] = ds;
- /* Root */
- Item MarkKornegay = new Item("集团", "", "GM Group", "../images/photos/a.png");
- MarkKornegay.TemplateName = "UserTemplateContact";
- MarkKornegay.TitleColor = Color.CornflowerBlue;
- //MarkKornegay.GroupTitle = "Group";
- //MarkKornegay.GroupTitleColor = Color.Blue;
- MarkKornegay.ShowCheckBox = BasicPrimitives.OrgDiagram.Enabled.False;
- MarkKornegay.ShowButtons = BasicPrimitives.OrgDiagram.Enabled.True;
- this.orgDiagram.Items.Add(MarkKornegay);
- AddOrg(MarkKornegay, "");
- }
- /// <summary>
- /// 追加节点
- /// </summary>
- /// <param name="P_Org_Item"></param>
- /// <param name="int_parent_id"></param>
- public void AddOrg(Item P_Org_Item, string int_parent_id)
- {
- string id = ""; string name = ""; string parent_org_id = ""; string org_type = "";
- DataSet ds = (DataSet)this.ViewState["ds"];
- DataRow[] dr = ds.Tables[].Select(" parent_org_id = '" + int_parent_id + "' ");
- foreach (DataRow dr1 in dr)
- {
- id = dr1["id"].ToString();
- name = dr1["name"].ToString();
- parent_org_id = dr1["parent_org_id"].ToString();
- org_type = dr1["org_type"].ToString();
- Item demo_item = new Item(name, id, "test", "../images/photos/a.png");
- if (id.Length != )
- {
- demo_item.TemplateName = "UserTemplateContact";
- }
- demo_item.TitleColor = Color.CornflowerBlue;
- //demo_item.GroupTitle = "Group";
- //demo_item.GroupTitleColor = Color.Orange;
- demo_item.ShowCheckBox = BasicPrimitives.OrgDiagram.Enabled.False;
- demo_item.ShowButtons = BasicPrimitives.OrgDiagram.Enabled.True;
- P_Org_Item.Items.Add(demo_item);
- //AddOrg(demo_item, id);
- }
- }
- }
asp.net 组织结构图控件的更多相关文章
- asp.net分页控件
一.说明 AspNetPager.dll这个分页控件主要用于asp.net webform网站,现将整理代码如下 二.代码 1.首先在测试页面Default.aspx页面添加引用 <%@ Reg ...
- asp.net ajax控件tab扩展,极品啊,秒杀其它插件
说明:asp.net ajax控件tab要设置width和height,而且在线文本编辑器放能够放入tab中,也必须是asp.net的控件型在线文本,例如fckeditor,下面是我设置好的配置. & ...
- javascript获取asp.net服务器端控件的值
代码如下: <%@ Page Language="C#" CodeFile="A.aspx.cs" Inherits="OrderManage_ ...
- ASP.NET控件<ASP:Button /> html控件<input type="button">区别联系
ASP.NET控件<ASP:Button />-------html控件<input type="button">杨中科是这么说的:asp和input是一样 ...
- [ASP.NET]asp.net Repeater控件的使用方法
asp.net Repeater控件的使用方法 -- : 4770人阅读 评论() 收藏 举报 asp.netserveraspdatasetdeletexhtml 今天学习了,Repeater控件 ...
- 关于ASP.net TextBox控件的失去焦点后触发其它事件
编写人:CC阿爸 2015-2-02 今天在这里,我想与大家一起分享如何处理的ASP.net TextBox控件的失去焦点后触发其它事件的问题,在此做个小结,以供参考.有兴趣的同学,可以一同探讨与学习 ...
- 浅谈ASP.NET报表控件
OWC似乎使用者居多,但看见有网友在帖中抱怨OWC在使用时需要许可证书,于是将其排除,我可不想BOSS在看报表时弹出一个“没有许可证书”的窗口. 接着找到了ComponentOne的Web chart ...
- 要后台控制前台的的CSS样式,我们可以加入ASP.NET Literal 控件
ASP.NET Literal 控件,用于在页面上显示文本.此文本是可编程的. 我用它来制作了 ) { this.LtdMemberPromotion7.Text = "<style ...
- ASP.Net 验证控件 RequiredFieldValidator
使用 ASP.NET 验证控件可在网页上检查用户输入.有用于各种不同类型验证的控件,例如范围检查或模式匹配验证控件.每个验证控件都引用网页上其他位置的输入控件(服务器控件).当处理用户输入时(例如,当 ...
随机推荐
- 【JavaScript】apply和call的区别在哪?
我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家 ...
- .net 调用C++类库
事实上这一直是个非常无解的问题.最好的办法是将C++类库写成COM. 可是有时候往往不能这个做.那就仅仅有两种办法:转成C函数形式或者Manage C++封装. 下文就介绍了这两种方法. 原帖:htt ...
- Xcode和IOS模拟器
Xcode和IOS模拟器 目录 概述 Xcode常用操作 学会用Instrument IOS模拟器 概述 Xcode常用操作 整体缩进或者缩退 command+“[” .command+“]” 在同一 ...
- 位图字体生成工具Bitmap Font Generator的使用
首先,说下为什么要使用这款工具作为cocos2d-x的字体生成工具.其实cocos2d-x能使用的字体生成工具也有好几个,当然了本人也没有全部使用过,就不一一说明了.Bitmap Font Gener ...
- error C2440:“类型转换":无法从“void (__thiscall Play1::* )(int *)”转换为“cocos2d::SEL_CallFucN
转自:http://zhidao.baidu.com/link?url=VfSSkA0xfTVwNKaKh4tqW_sXlcsK-Rb16nEtQw5zaq5_306lnwJN3Kdb-rFp-r4L ...
- IIS 发布网站遇到的问题
1.解决win7 64位[ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 http://wwwu8.wap.blog.163.com/w2/blogDetail.do?hostID ...
- IDEA加密(转)
1. 简介 IDEA是International Data Encryption Algorithm 的缩写,是1990年由瑞士联邦技术学院来学嘉X.J.Lai 和Massey提出的建议标准算法称作P ...
- 工作随笔记 点击除div自身之外的地方,关闭自己
<div id="showSelectOptions" style="width:100px;height:100px;background-color:red;b ...
- JavaSE——面向对象与面向过程、类与对象、(属性、方法、构造器)等
一:面向对象与面向过程 二者都是一种思想,面向对象是相对于面向过程而言的. 面向过程: 1.面向过程思想强调的是过程(动作). 2.在面向过程的开发中,其实就是面向着具体的每一个步骤和过程,把每一个步 ...
- Linux 查看物理内存
free -k free -m free -b man free cat /proc/meminfo