📄 treeview.cs
字号:
/// <summary>
/// Name of the TreeNodeType to apply by default to all of the node's children
/// </summary>
[
Category("Data"),
DefaultValue(""),
PersistenceMode(PersistenceMode.Attribute),
Editor(typeof(Microsoft.Web.UI.WebControls.Design.NodeTypeEditor), typeof(UITypeEditor)),
ResDescription("TreeChildType"),
]
public String ChildType
{
get
{
object str = ViewState["ChildType"];
return ((str == null) ? String.Empty : (String) str);
}
set
{
ViewState["ChildType"] = value;
}
}
/// <summary>
/// Url of the xml file to import as the TreeNode content of the tree
/// </summary>
[
Category("Data"),
DefaultValue(""),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeNodeSrc"),
]
public string TreeNodeSrc
{
get
{
object str = ViewState["TreeNodeSrc"];
return ((str == null) ? String.Empty : (string)str);
}
set
{
ViewState["TreeNodeSrc"] = value;
}
}
/// <summary>
/// Url of the xsl transform file to apply to the TreeNodeSrc
/// </summary>
[
Category("Data"),
DefaultValue(""),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeNodeXsltSrc"),
]
public string TreeNodeXsltSrc
{
get
{
object str = ViewState["TreeNodeXsltSrc"];
return ((str == null) ? String.Empty : (string)str);
}
set
{
ViewState["TreeNodeXsltSrc"] = value;
}
}
/// <summary>
/// Gets the collection of TreeNodeTypes in the control.
/// </summary>
[
Category("Data"),
DefaultValue(null),
MergableProperty(false),
PersistenceMode(PersistenceMode.InnerDefaultProperty),
ResDescription("TreeNodeTypes"),
]
public TreeNodeTypeCollection TreeNodeTypes
{
get
{
return _TreeNodeTypes;
}
}
/// <summary>
/// Gets the collection of nodes in the control.
/// </summary>
[
Category("Data"),
DefaultValue(null),
MergableProperty(false),
PersistenceMode(PersistenceMode.InnerDefaultProperty),
ResDescription("TreeNodes"),
]
public TreeNodeCollection Nodes
{
get
{
return _Nodes;
}
}
/// <summary>
/// Whether or not to post back to the server on each interaction
/// </summary>
[
Category("Behavior"),
DefaultValue(false),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("AutoPostBack"),
]
public bool AutoPostBack
{
get
{
object b = ViewState["AutoPostBack"];
return ((b == null) ? false : (bool)b);
}
set
{
ViewState["AutoPostBack"] = value;
}
}
/// <summary>
/// Show dotted lines representing tree hierarchy?
/// </summary>
[
Category("Appearance"),
DefaultValue(true),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeShowLines"),
]
public bool ShowLines
{
get
{
object b = ViewState["ShowLines"];
return ((b == null) ? true : (bool)b);
}
set
{
ViewState["ShowLines"] = value;
}
}
/// <summary>
/// Show tooltips on parent nodes?
/// </summary>
[
Category("Appearance"),
DefaultValue(true),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeToolTip"),
]
public bool ShowToolTip
{
get
{
object b = ViewState["ShowToolTip"];
return ((b == null) ? true : (bool)b);
}
set
{
ViewState["ShowToolTip"] = value;
}
}
/// <summary>
/// Show +/- symbols on expandable nodes?
/// </summary>
[
Category("Appearance"),
DefaultValue(true),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeShowPlus"),
]
public bool ShowPlus
{
get
{
object b = ViewState["ShowPlus"];
return ((b == null) ? true : (bool)b);
}
set
{
ViewState["ShowPlus"] = value;
}
}
/// <summary>
/// Expand/collapse a node by clicking on it?
/// </summary>
[
Category("Behavior"),
DefaultValue(false),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeSelectExpands"),
]
public bool SelectExpands
{
get
{
object b = ViewState["SelectExpands"];
return ((b == null) ? !ShowPlus : (bool)b);
}
set
{
ViewState["SelectExpands"] = value;
}
}
/// <summary>
/// Automatically select a node when hovered with the keyboard?
/// </summary>
[
Category("Behavior"),
DefaultValue(false),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeAutoSelect"),
]
public bool AutoSelect
{
get
{
object b = ViewState["AutoSelect"];
return ((b == null) ? false : (bool)b);
}
set
{
ViewState["AutoSelect"] = value;
}
}
/// <summary>
/// If ShowLines=false, number of pixels to indent each level of tree
/// </summary>
[
Category("Appearance"),
DefaultValue(19),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeIndent"),
]
public int Indent
{
get
{
object i = ViewState["Indent"];
return ((i == null) ? 19 : (int)i);
}
set
{
ViewState["Indent"] = value;
}
}
/// <summary>
/// Path to the directory holding images (lines, +, -, etc) required by the control
/// </summary>
[
Category("Data"),
DefaultValue(""),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeSystemImagesPath"),
]
public string SystemImagesPath
{
get
{
object str = ViewState["SystemImagesPath"];
return ((str == null) ? AddPathToFilename("treeimages/") : (string)str);
}
set
{
String str = value;
if (str.Length > 0 && str[str.Length - 1] != '/')
str = str + '/';
ViewState["SystemImagesPath"] = str;
}
}
/// <summary>
/// Url of the xml file to import as the TreeNodeTypes content of this node
/// </summary>
[
Category("Data"),
DefaultValue(""),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeNodeTypeSrc"),
]
public string TreeNodeTypeSrc
{
get
{
object str = ViewState["TreeNodeTypeSrc"];
return ((str == null) ? String.Empty : (string)str);
}
set
{
ViewState["TreeNodeTypeSrc"] = value;
}
}
/// <summary>
/// Index of the selected node
/// </summary>
[
Category("Data"),
DefaultValue(""),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeSelectedNodeIndex"),
]
public string SelectedNodeIndex
{
get
{
object str = ViewState["SelectedNodeIndex"];
if (str == null)
return (Nodes.Count > 0) ? "0" : String.Empty;
else
return (string)str;
}
set
{
if (IsValidIndex(value))
{
TreeNode node = GetNodeFromIndex(value);
if (!_bCreated || (value == null) || (value == String.Empty) || ((node != null) && node.IsVisible))
{
if (value != (string)ViewState["SelectedNodeIndex"])
ViewState["SelectedNodeIndex"] = value;
}
else
throw new Exception(String.Format(Util.GetStringResource("TreeInvisibleSelectedNode"), value));
}
else
throw new Exception(String.Format(Util.GetStringResource("TreeInvalidIndexFormat"), value));
}
}
/// <summary>
/// Index of the hovered node
/// </summary>
internal string HoverNodeIndex
{
get
{
object str = ViewState["HoverNodeIndex"];
return ((str == null) ? String.Empty : (string)str);
}
set
{
if ((string)ViewState["HoverNodeIndex"] != value)
ViewState["HoverNodeIndex"] = value;
}
}
/// <summary>
/// Number of levels deep to expand the tree by default
/// </summary>
[
Category("Behavior"),
DefaultValue(0),
PersistenceMode(PersistenceMode.Attribute),
ResDescription("TreeExpandLevel"),
]
public int ExpandLevel
{
get
{
object i = ViewState["ExpandLevel"];
return ((i == null) ? 0 : (int)i);
}
set
{
ViewState["ExpandLevel"] = value;
}
}
/// <summary>
/// Indicates that the SelectedNodeIndex can be modified on insertions.
/// </summary>
internal bool IsInitialized
{
get { return IsTrackingViewState; }
}
/// <summary>
/// Adds parsed child objects to the TreeView.
/// </summary>
/// <param name="obj">Child object to add, must be either a TreeNode or TreeNodeType.</param>
protected override void AddParsedSubObject(Object obj)
{
if (obj is TreeNode)
{
_Nodes.Add((TreeNode)obj);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -