惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
L
LangChain Blog
云风的 BLOG
云风的 BLOG
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
量子位
The GitHub Blog
The GitHub Blog
博客园 - 【当耐特】

博客园 - 飞鼠

面试时英语自我介绍范文 判斷一天是否是年月中正確的日 - 飞鼠 - 博客园 Javascript中parseInt的一個問題 NUMERIC(3,1) 的含義 在 google 里找书下载的捷径 - 飞鼠 使用asp.net发送邮件详解 創建用戶控件 - 飞鼠 - 博客园 SQL密码 不斷提醒 datagrid用xml作为数据源,并且有更新,删除和排序的操作(VB) - 飞鼠 - 博客园 将xml作为DataGrid 操作(Sort, Edit, Delete) - 飞鼠 用ASP.NET结合XML制作广告管理程序 用ASP.NET结合XML制作广告管理程序(2) - 飞鼠 - 博客园 XML、DataSet、DataGrid结合写成广告管理程序(下)(转载) - 飞鼠 - 博客园 XML、DataSet、DataGrid结合写成广告管理程序(上)(转载) 分别用DataGrid、Repeater、DataList绑定XML数据的例子 - 飞鼠 - 博客园 将某一目录下的所有相同格式的 XML文件绑定到不同的DataGrid - 飞鼠 - 博客园 创建可编辑的xml文档(之四) 删除、改名、插入操作 创建可编辑的xml文档(之三)执行拖放操作
创建可编辑的xml文档(之五)执行中的treeview 控件
飞鼠 · 2005-12-29 · via 博客园 - 飞鼠

执行中的treeview 控件
为了更完美,列表4包含了VB.NET version, or C# version 两个版本的最终treevie 控件。为了更容易使用,我重新定义了结构和代码。同时增加了KeyDown 控制来支持一些默认的快捷键例如:Control-N (新建), F2 (编辑), 和DEL (删除).
这里好象不必附加任何事件,因此最终的api 包含一个方法和八个属性,他们在表1中列出来了,他们大多数都是简单的标志,或者默认的开关,我增加他们时为了让你可以选择使用来增强你的应用程序的可编辑特征

表1:xmltreeview 控件的属性和方法,你可以将它们用到你的应用程序中
Attribute
Type
Parameter
Description

XmlDropTarget
Get
System.Xml.XmlNode
The XML node corresponding to the currently selected node in the TreeView

ActiveXmlDocument
Get
System.Xml.XmlDocument
The XML document bound to the TreeView. This updates as the tree changes

XPathFilter
Get; Set
string
The XPath filter used to identify the element or attribute whose value will be used to display the folder's name. A folder constitutes the tree view's smallest navigable unit

XmlInsertionNode
Get; Set
System.Xml.XmlNode
The template for a new folder. The TreeView caches this, and clones it when a new folder is required.

DragDropActive
Get; Set
bool
Flag denoting whether a drag/drop operation is currently in progress.

EnableEditNode
Get; Set
bool
Flag denoting whether label editing is supported (default is yes)

EnableDeleteNode
Get; Set
bool
Flag denoting whether folder deletion is supported (default is yes)

EnableInsertNode
Get; Set
bool
Flag denoting whether folder insertion is supported (default is yes)

Method:
Returns
Parameter
Description

Load
void
System.Xml.XmlDocument
Loads the specified XML document and uses it to populate the TreeView. Set XPathFilter prior to calling Load() to define an appropriate view on the underlying data.

调用本文章附带的sample project 工程,你可以看到执行中的treeview 控件,这个简单工程是我前面提到的目录管理员中一个剪切版本,还有必要说一下,只需要四行就可以实现一个拖放操作,图三显示让用户创建新的文件夹集合
[C#]
// Load the XML document from a file
xmlDocument = new System.Xml.XmlDataDocument();
xmlDocument.Load(strXmlDocument);

// After setting the path filter, load the
// document into the TreeView
xmlTreeView1.XPathFilter = "attribute::id";
xmlTreeView1.Load(xmlDocument);

// Defining XmlInsertionNode allows creation of new
// nodes within the TreeView
System.Xml.XmlDocument insert_fragment = new
System.Xml.XmlDocument();
insert_fragment.LoadXml("<product id='New
Item'><description/><ordercode/><price/>
<image/></product>");
xmlTreeView1.XmlInsertionNode =
insert_fragment.DocumentElement;

[VB]
' Load the XML document from a file
xmlDocument = New System.Xml.XmlDataDocument()
xmlDocument.Load(strXmlDocument)

' After setting the path filter, load the
' document into the TreeView
xmlTreeView1.XPathFilter = "attribute::id"
xmlTreeView1.Load(xmlDocument)

' Defining XmlInsertionNode allows creation of new
' nodes within the TreeView
Dim insert_fragment As New System.Xml.XmlDocument()
insert_fragment.LoadXml("<product id='New " & _
"Item'><description/><ordercode/><price/>" & _
"<image/></product>")
xmlTreeView1.XmlInsertionNode =
insert_fragment.DocumentElement
图二 显示了一个目录管理员的窗体, 图三显示了一个详细的最终目录

Figure 2. The Catalog Administrator Form: This figure shows the hierarchical TreeView and the details for an item in the catalog administrator form.

Figure 3. Final Catalog. The figure shows a detail view of the final catalog.

代码的其他部分处理产品列表的可编辑性,还有更新xml文档。因此当你关闭应用程序时,代码保存所有的修改到文档中。希望这些能够对你的项目有一些好的启发,或者丰富你的组件或者接口的开发。