带右键菜单的树形控件(1)

菜单|控件

用户自定义控件代码如下:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.IO;

namespace EWFS.CL
{
public struct stuTreeNodes
{
public string strKey;
public string strDispVal;
public string strParentKey;
public string strJavaScriptCmd;
}

public struct stuTreeNodesIcons
{
public string strTreeCaptionIcon;
public string strTreeContentOpenIcon;
public string strTreeContentCloseIcon;
}

public struct stuTreePopMenu
{
public string strMenuItemImg;
public string strMenuItemText;
public string strMenuItemCmd;
}

[DefaultProperty("Text"),
ToolboxData("<{0}:TreeView runat=server></{0}:TreeView>")]
public class TreeView : System.Web.UI.WebControls.WebControl
{
private string m_TreeCaption; //标题
private stuTreeNodes[] m_stuTreeNodes; //节点内容
private stuTreeNodesIcons m_stuTreeNodesIcons; //节点图标
private string m_TreeChangedPostURL; //修改后的树传送的地址
private bool m_TreeAddDir;
private bool m_TreeRenDir;
private bool m_TreeDelDir;
private stuTreePopMenu[] m_stuTreePopMenu;
private string m_GotoID;
private bool m_TreeRootPopMenu;
private System.Data.DataSet m_dsTreeNodes;

protected System.Web.UI.WebControls.Table TreeTable;

public string TreeGotoID //定位ID
{
get{return m_GotoID;}
set{m_GotoID=value;}
}

[Bindable(true),
Category("Appearance"),
DefaultValue(true)]
public bool TreeRootPopMenu
{
get{return m_TreeRootPopMenu;}
set{m_TreeRootPopMenu=value;}
}

[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public bool TreeAddDir
{
get{return m_TreeAddDir;}
set{m_TreeAddDir=value;}
}

public bool TreeRenDir
{
get{return m_TreeRenDir;}
set{m_TreeRenDir=value;}
}

public bool TreeDelDir
{
get{return m_TreeDelDir;}
set{m_TreeDelDir=value;}
}

public stuTreePopMenu[] StuTreePopMenu
{
get{return m_stuTreePopMenu;}
set{m_stuTreePopMenu=value;}
}

public string TreeChangedPostURL
{
get{return m_TreeChangedPostURL;}
set{m_TreeChangedPostURL=value;}
}

public stuTreeNodesIcons StuTreeNodesIcons
{
get {return m_stuTreeNodesIcons;}
set {m_stuTreeNodesIcons = value;}
}

public stuTreeNodes[] StuTreeNodes
{
get
{
return m_stuTreeNodes;
}
set
{
m_stuTreeNodes=value;
}
}

public string TreeCaption
{
get
{
return m_TreeCaption;
}

set
{
m_TreeCaption = value;
}
}

/// <summary>
/// 获取节点内容
/// </summary>
public System.Data.DataSet dsTreeNodes
{
get{return this.m_dsTreeNodes;}
set
{
this.m_dsTreeNodes=value;
SetTreeNodes();
}
}

private void SetTreeNodes()
{
this.m_stuTreeNodes =new stuTreeNodes[m_dsTreeNodes.Tables[0].Rows.Count];
for(int i=0;i<m_dsTreeNodes.Tables[0].Rows.Count;i++)
{
this.m_stuTreeNodes[i].strKey=m_dsTreeNodes.Tables[0].Rows[i][0].ToString();
this.m_stuTreeNodes[i].strParentKey=m_dsTreeNodes.Tables[0].Rows[i][1].ToString()=="0"?"":m_dsTreeNodes.Tables[0].Rows[i][1].ToString();
this.m_stuTreeNodes[i].strDispVal=m_dsTreeNodes.Tables[0].Rows[i][2].ToString();
this.m_stuTreeNodes[i].strJavaScriptCmd=m_dsTreeNodes.Tables[0].Rows[i][3].ToString();
}
}
/// <summary>
/// 将此控件呈现给指定的输出参数。
/// </summary>
/// <param name="output"> 要写出到的 HTML 编写器 </param>
protected override void CreateChildControls()
{
System.Web.UI.WebControls.Table oTB=new Table();
System.Web.UI.WebControls.Table oTB1=new Table();
System.Web.UI.WebControls.TableRow oTR=new TableRow ();
System.Web.UI.WebControls.TableCell oTD=new TableCell ();
System.Web.UI.WebControls.Unit oU=new Unit(&qu

时间: 2025-01-20 19:35:19

带右键菜单的树形控件(1)的相关文章

MFC 树形控件CTreeCtrl显示文件路径及文件

在上篇文章中简单讲述了"MFC单文档分割窗口显示图片",但是我想实现的是左边显示图片的路径,右边显示图片的情况,所以这里需要讲述如何使用控件List Control和Tree Control.    CListCtrl(列表控件):可以用大图标.小图标.列表.报表四种不同方式显示一组信息.    CTreeCtrl(树形控件):用树结构显示一组信息,并能反映这些信息的层次关系.首先声明:该文章主要是数字图形处理知识并结合liujiannan_1987的上传资源讲述,在此感谢该作者:ht

为树形控件添加弹出式菜单,并跟踪所选择的项

[cpp] view plaincopy   <span style="font-size:24px;color:#ff0000;">为树形控件添加弹出式菜单,并跟踪所选择的项</span>   [cpp] view plaincopy   动态弹出式菜单   [cpp] view plaincopy    //获取当前右键的位置   CPoint pt;      GetCursorPos(&pt);      m_tree.ScreenToClien

基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合_jquery

本文支持两种方式的数据,一种为List集合,一种为json字符串. 先来介绍一下后台返回list集合(推荐使用此方法): 控制器代码如下: public static List<TC_DictionaryInfo> DInfo = new List<TC_DictionaryInfo>(); /// <summary> /// TreeView视图 /// </summary> /// <returns></returns> publ

jQuery树形控件zTree使用小结_jquery

0 zTree简介  树形控件的使用是应用开发过程中必不可少的.zTree 是一个依靠 jQuery 实现的多功能 "树插件".优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点.  0.0 zTree的特点 •最新版的zTree将核心代码按照功能进行了分割,不需要的代码可以不用加载,如普通使用只需要加载核心的jquery.ztree.core-3.5.js,需要使用勾选功能加载jquery.ztree.excheck-3.5.min.js,需要使用编辑功能加载jquery

vc++-vc6 树形控件读取并绘制的问题

问题描述 vc6 树形控件读取并绘制的问题 我有一些无序带节点名的数据 比如 1,22,3,=a 1,22,4,=b 1,33,5,=c 1,22,6,=d 要写成这样的 该怎么写算法啊,主要是判断父节点有无和指针的问题 解决方案 CString * CTreeappDlg::SplitString(CString str, char split, int& iSubStrs) { int iPos = 0; //分割符位置 int iNums = 0; //分割符的总数 CString str

Bootstrap树形控件使用方法详解_javascript技巧

一.JQuery树形控件Jquery树形控件是一款基于JQuery+bootstrap.完全通过js和样式手写出来的非常轻量级的控件,网上很多地方都能看到它的影子.它功能简单.用户体验不错.对于一些简单的层级关系展示比较实用,但对于节点的增删改实现起来就不容易了,如果非要做,可能需要自己去封装. 1.一睹初容 全部收起 展开一级 全部展开 2.代码示例 此控件实现起来也非常简单,只需要引用jQuery和bootstrap组件即可. <link href="~/Content/Tree1/c

JavaScript面向对象技术实现树形控件

javascript|对象|控件 树形控件是一种人们熟悉的用户界面控件,广泛地用来显示层次型数据. 树形控件具有独特的扩展和折叠分支的能力,能够以较小的空间显示出大量的信息,一目了然地传达出数据之间的层次关系.凡是熟悉图形用户界面的用户,都能够自如地运用树形控件. 图一:用JavaScript实现的树形控件 HTML本身不支持树形控件,但我们可以通过一些JavaScript脚本代码实现.为了提高控件的可重用性,我们要充分运用JavaScript对面向对象编程技术的支持.本文的树形控件适用于IE

教你如何使用JSP面向对象web编程技术实现树形控件

js|web|编程|对象|控件 树形控件是一种人们熟悉的用户界面控件,广泛地用来显示层次型数据. 树形控件具有独特的扩展和折叠分支的能力,能够以较小的空间显示出大量的信息,一目了然地传达出数据之间的层次关系.凡是熟悉图形用户界面的用户,都能够自如地运用树形控件. 图一:用java script实现的树形控件 HTML本身不支持树形控件,但我们可以通过一些java script脚本代码实现.为了提高控件的可重用性,我们要充分运用java script对面向对象编程技术的支持.本文的树形控件适用于I

带日期标注的日历控件

控件名称:Calendar with Date Mark版    本:1.0类    型:HTML Component运行需求:IE 5(推荐IE5.5或更高版本).MSXML.ASP或ASP.NET(后台)费    用:免费支    持:不提供支持源 代 码:XML Scriptlet------------------------------------------------------------------------<public:attach event="oncontent