Tree control with right-click menu (1)

Source: Internet
Author: User
Menu | Control user Custom control code is as follows:
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; Title
Private stutreenodes[] m_stutreenodes; Node content
Private Stutreenodesicons m_stutreenodesicons; Node icon
private string M_treechangedposturl; Address of the modified tree transfer
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//Locator 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>
Get node Contents
</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>
Renders this control to the specified output parameter.
</summary>
<param name= "Output" > HTML writer to write </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



Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.