TreeView使用集锦

UE4-(UI)第七十三课Tree View树形结构 一、Tile View需要提供树形结构数据,TreeView 和Tile View 都是继承自List View。 二、创建方法,与ListView创建方法一致,需要TreeEntry控件蓝图实现接口UserObjectListEntry,需要TreeItem基于Object的蓝图类。与Test用来显示UI到显示器中的控件蓝图。 区别:1.在TreeEntry中添加水平盒并放置Text(用于后... 阅读详情
TreeView使用集锦
 

减小字体 增大字体

  1.下载地址
http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp
下载后是后缀为bat的版本
(1)bulid.将bulid.bat的路径指向csc.exe所在路径,生成Microsoft.Web.UI.WebControls.dll。
(2)在wwwroot下创建空目录webctrl_client/1_0。
(3)将build/Runtime下的文件拷至webctrl_client/1_0下。
(4)选择工具箱的自定义工具箱,添加Microsoft.Web.UI.WebControls.dll。
有些麻烦
但如果你能找到后缀是msi的自动安装版本,直接下一步就行(我一直用这个版本,hoho)
安装后,通过“自定义工具箱”->“.net框架组件”把TreeView添加到工具箱里

2.运行时无法显示
一般是TreeView的版本问题,最好下载英文版自动安装版本重新安装,安装前应该先到添加删除程序里卸掉原版本

3.显示格式出错(非树状显示)
TreeView要求客户端浏览器版本为IE5.5及以上,最好要求客户端升级为IE6.0

4.框架里使用TreeView
设置NavigateUrl、Target属性,可更新另外的Frame

5.找不到TreeNode类
使用TreeView,最好添加namespace:using Microsoft.Web.UI.WebControls;

6.遍历TreeView节点(递归算法)
private void Page_Load(object sender, System.EventArgs e)
{
 GetAllNodeText(TreeView1.Nodes);
}
void GetAllNodeText(TreeNodeCollection tnc)
{
 foreach(TreeNode node in tnc)
 {
  if(node.Nodes.Count!=0)
   GetAllNodeText(node.Nodes);
  Response.Write(node.Text + " ");
 }
}

7.得到node结点的父节点
TreeNode pnode;
if(node.Parent is TreeNode)
 pnode=(TreeNode)node.Parent;
else
 //node is root node

8.修改TreeView样式(示例)
<iewc:TreeView id="TreeView1" runat="server" HoverStyle="color:blue;background:#00ffCC;" DefaultStyle="background:red;color:yellow;" SelectedStyle="color:red;background:#00ff00;">
用代码:
TreeView1.DefaultStyle["font-size"] = "20pt";

9.展开时不提交,改变选择节点时才提交
将autopostback设置成false; 
在body里添加  <body  onload="initTree()"> 
然后在PageLoad里写: 
string  strTreeName  =  "TreeView1"; 
string  strRef  =  Page.GetPostBackEventReference(TreeView1); 
string  strScript  =  "<script  language=/"JavaScript/">  /n"  +  "<!--  /n"  +  "            function  initTree()  {  /n"  +"                        "  +  strTreeName  +  ".onSelectedIndexChange  =  function()  {  /n"  +    "if  (event.oldTreeNodeIndex  !=   
event.newTreeNodeIndex)  /n"  +  "this.queueEvent('onselectedindexchange',  event.oldTreeNodeIndex  +  ','  +  event.newTreeNodeIndex);  /n"  +    "window.setTimeout('"  +  strRef.Replace("'","//'")    +  "',  0,  'JavaScript');  /n"  +    "                        }  /n"  +      "            }  /n"  +    "//  -->  /n"  +  "</script>"; 
Page.RegisterClientScriptBlock("InitTree",strScript  ); 
 
这样就只有你点击的节点更改的时候才提交!

10.TreeView结合XML
把XML文件设置为如下格式,然后直接设置TreeNodeSrc为该XML文件就行
<?xml version="1.0" encoding="GB2312"?>
<TREENODES>
 <TREENODE TEXT="node0" EXPANDED="true">
  <TREENODE TEXT="node1"/>
  <TREENODE TEXT="node2"/>
 </TREENODE>
 <TREENODE TEXT="node3" NavigateURL="3.aspx"/>
</TREENODES>
或者用代码
TreeView1.TreeNodeSrc="a.xml";
TreeView1.DataBind();

客户端控制TreeView
http://expert.youkuaiyun.com/Expert/topic/1382/1382892.xml

1.设置所选节点,如选中第二个节点
function SetSelNode()
{
 TreeView1.selectedNodeIndex="1";
}

2.得到所选节点的Text,ID或NodeData
function GetAttribute()
{
 alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text"));
}
替换Text为ID或NodeData,可分别得到所选节点的ID或NodeData

3.修改节点属性,如修改第一个节点的Text
function ModifyNode()
{
 var node=TreeView1.getTreeNode("0");
 node.setAttribute("Text","hgknight");
}

4.得到点击节点
function TreeView1.onclick()
{
 alert(TreeView1.getTreeNode(TreeView1.clickedNodeIndex).getAttribute("Text"));
}

5.添加节点
function AddNode()
{
 var node=TreeView1.createTreeNode();
 node.setAttribute("Text","hgknight");
 TreeView1.add(node);    
}

6.js遍历所有节点
 var AllRootNode=new Array();
 AllRootNode=TreeView1.getChildren();
 AlertNode(AllRootNode);   

 function AlertNode(NodeArray)
 {
  if(parseInt(NodeArray.length)==0)
   return;
  else
  {
   for(i=0;i<NodeArray.length;i++)
   {
    var cNode;
    cNode=NodeArray[i];
    alert(cNode.getAttribute("Text"));
    if(parseInt(cNode.getChildren().length)!=0)
     AlertNode(cNode.getChildren());    
   }
  }
 }

 
UE4UMG之TreeView 1.用来做什么的:属于列表分类里面的树状列表。(类似于UMG控件的层级关系一样的结构)2.使用流程总结:在母UI里面创建treeview控件,然后创建一个新的UMG蓝图,在新UMG里的类设置里找到添加接口的按键,添加User Object List Entry接口,然后再母UI里的treeview里就可在EntryWidgetClass里找到新的UMG了。然后创建一个Object类,在里面存储新UMG的数据,创建对应变量类型(需要有区分层级关系的变量和存储子树Object对象的数组)。在object类里创建 阅读详情

相关推荐

UE4 STreeView的使用和示例(C++实现)

STreeView介绍:   STreeView是UE提供的一个控件,其已经实现好一套框架,能够根据给定数据自动生成一个树形结构控件,UE的资源目录(SPathView.h)以及大纲视图(SOutlineTreeView.h)里的树状结构都是用此控件生成的。   STreeView提供了丰富的接口,可以根据需要在构建控件时传入参数即可,这里介绍最简单的使用方法,只需要提供数据(TreeItemsS...

wymdhr的博客 4913

【UE5】控件蓝图——树视图(TreeView)的基本使用

通过树视图控件来显示场景中Actor的层级关系。

ChaoChao66666的博客 5334

TreeView安装使用集锦

1.下载地址http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp下载后是后缀为bat的版本(1)bulid.将bulid.bat的路径指向csc.exe所在路径,生成Microsoft.Web.UI.WebControls.dll。(2)在www

jxufewbt的专栏 6473

UE5 Slate中的StreeView的基础创建方法

UE5 Slate中的StreeView的基础创建方法留做记录。

weixin_42318094的博客 1169

树结构显示软件Treeview

用于显示进化树的软件,它可以读取NEXUS及PHYLIP生成的进化树格式文件,生成进化树,并输出到打印机。

Neo4jDesktop Setup1.6.1软件包

Neo4jDesktop Setup1.6.1软件包,用于无法访问外网的同学下载。

neo4j-desktop-2.0.2-x64

neo4j-desktop-2.0.2-x64

neo4j desktop 2.0.1安装包

neo4j desktop 2.0.1安装包

treeview使用问题集锦

treeview使用问题集锦 1.下载地址http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp下载后是后缀为bat的版本(1)bulid.将bulid.bat的路径指向csc.exe所在路径,生成Microsoft.Web.UI.WebContr

徐虎的专栏 2350

100道测试工程师笔试的Linux笔试题及答案_网络安全工程师关于linux的笔试大题

47.Linux系统中,一般把命令 ls 定义为 ls --color 的别名,以便以不同颜色来标识不同类型的文件。但是,如何能够使用原先的ls命令?83.在xdm的配置目录中,哪个文件用来设置在用户通过xdm登录后自动起动的应用程序?45.你的系统使用增量备份策略,当需要恢复系统时,你需要按什么顺序恢复备份数据?84.命令 netstat -a 停了很长时间没有响应,这可能是哪里的问题?51.Linux中,提供TCP/IP包过滤功能的软件叫什么?88.TCP/IP中,哪个协议是用来进行IP自动分配的?

2401_84247760的博客 1054

ABAP on HANA/CDS view/AMDP 大乱炖

文章目录1. HANA的三大杀器1.1 内存式数据库1.2 多核架构1.3 列式存储1.3.1 数据压缩1.3.2 并行处理1.3.3 聚集和索引1.3.4 代码下移2. CDS 概念2.1 ABAP 开发环境2.2 OPEN SQL语句2.3 CDS 到底是啥2.4 CDS 类型2.5 创建CDS view3. CDS 实战3.1 Annotation注解3.2 Case 语句3.3 数学计算3.4 字符串表达3.5 货币转换3.6 聚集语句3.7 Join3.8 Union3.9 参数3.10 作为子C

weixin_45689053的博客 4782
上一篇: Windows 2003实用使用技巧七则
下一篇: ASP.NET中文件上传下载方法集合
nothing7
博客等级 码龄21年 1粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值