Access Treeview 应用实例
- 格式:doc
- 大小:168.00 KB
- 文档页数:3
树形结构控件TreeViewTreeView是一种能以树形目录结构形式显示数据的高级控件,显示方式类似于Windows的资源管理器,能分层展开各结点的子目录,也能收缩各结点的子目录。
本节将先介绍TreeView控件的一些基本概念、属性与方法,再举例说明TreeView控件的应用。
TreeView控件概述、属性与方法1、作用:用于显示Node结点的分层列表。
2、添加到控件箱菜单命令:工程 | 部件,在部件对话框中选择:Microsoft Windows Common Controls 6.03、TreeView控件的属性(1)属性对话框用鼠标右键单击TreeView控件,在弹出式菜单中选择属性,进入属性设置对话框,该对话框分为通用、字体、图片三个选项卡,如图8.6所示。
①样式(Style):返回或设置在Node结点之间显示的线样式,如表8.6所示。
②鼠标指针(MousePoint):可选择不同鼠标样式,如表8.1所示。
③线条样式(LineStyle):0-tvwTreeLine 无根结点的树形结构,1-tvwRootLines有根结点的树形结构。
④标签编辑(LabelEdit):0-tvwAutomatic 自动,1-tvwManual 手工;⑤图像列表(ImageList):结点图标所用ImageList控件;⑥边框样式(BorderStyle):0-ccNone无边框,1-ccFixedSingle单边框;⑦外观(Appearence):0-ccFlat平面效果,1-cc3D 3D效果;⑧缩进:父子结点的水平间距。
(2)其它属性①SelectedItem.Text属性:用于返回或设置当前Node结点的内容。
②CheckBoxes属性:该属性只能取逻辑值,若取True值,则每个Node结点前出现一个复选框,否则不出现复选框。
4、TreeView控件的方法(1)Node结点①Node结点:是TreeView控件中的一项,它包含图像与文本。
qml treeview 简单例子QML TreeView 是一种用于显示层次结构数据的组件,它可以以树状的形式展示数据,并且支持交互操作。
下面将介绍一些使用 QML TreeView 的简单例子,以帮助读者更好地理解和使用这个组件。
1. 基本的 TreeView 示例这是一个基本的 TreeView 示例,用于展示一个简单的层次结构数据:```qmlimport QtQuick 2.0import QtQuick.Controls 2.15TreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }ListElement { name: "Child 3" }}delegate: TreeViewButton {text: }}```2. 自定义 TreeView 样式可以通过自定义样式来修改 TreeView 的外观,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentstyle: TreeViewStyle {itemDelegate: Item {Rectangle {color: styleData.selected ? "red" : "white" height: 30width: treeView.widthText {anchors.centerIn: parenttext: }}}}model: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }ListElement { name: "Child 3" }}delegate: TreeViewButton {text: }}```3. 动态添加和删除节点可以通过操作数据模型来动态添加和删除节点,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }ListElement { name: "Child 3" }}delegate: TreeViewButton {text: }Button {text: "Add Child"onClicked: {treeView.model.append({ name: "New Child" }) }}Button {text: "Remove Child"onClicked: {treeView.model.remove(treeView.currentIndex)}}}```4. 自定义节点图标可以通过自定义节点的图标来增加可视化效果,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1"; icon: "folder.png" } ListElement { name: "Child 2"; icon: "file.png" } ListElement { name: "Child 3"; icon: "file.png" } }delegate: Item {width: treeView.widthheight: 30Row {Image {source: model.iconheight: 16width: 16}Text {text: }}}}```5. 节点的展开和折叠可以通过设置 TreeView 的 `expanded` 属性来控制节点的展开和折叠状态,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1"; expanded: true }ListElement { name: "Child 2"; expanded: false }ListElement { name: "Child 3"; expanded: true }}delegate: TreeViewButton {text: }}```6. 隐藏根节点可以通过设置 TreeView 的 `rootVisible` 属性来控制是否显示根节点,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentrootVisible: falsemodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }ListElement { name: "Child 3" }}delegate: TreeViewButton {text: }}```7. 树节点的排序可以通过设置 TreeView 的 `sortIndicatorVisible` 属性来显示排序指示器,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentsortIndicatorVisible: truemodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 3" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }}delegate: TreeViewButton {text: }}```8. 多列的 TreeView可以通过设置 TreeView 的`columnCount` 属性来创建多列的TreeView,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentcolumnCount: 2model: ListModel {ListElement { name: "Root"; description: "Rootnode" }ListElement { name: "Child 1"; description: "Child 1 node" }ListElement { name: "Child 2"; description: "Child 2 node" }ListElement { name: "Child 3"; description: "Child 3 node" }}TableViewColumn {role: "name"title: "Name"}TableViewColumn {role: "description"title: "Description"}}```9. 自定义节点的交互操作可以通过自定义节点的交互操作,实现自定义功能,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }ListElement { name: "Child 3" }}delegate: Item {width: treeView.widthheight: 30Rectangle {color: styleData.selected ? "red" : "white" height: parent.heightwidth: treeView.widthText {anchors.centerIn: parenttext: }MouseArea {anchors.fill: parentonClicked: {console.log("Clicked on", ) }}}}}```10. 显示复杂的层次结构数据TreeView 可以显示复杂的层次结构数据,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement {name: "Root"children: [{ name: "Child 1" },{name: "Child 2",children: [{ name: "Grandchild 1" },{ name: "Grandchild 2" }]},{ name: "Child 3" }]}}delegate: TreeViewButton {text: }}```以上就是一些使用 QML TreeView 的简单例子,通过这些例子,读者可以了解到如何使用 TreeView 展示层次结构数据,并且可以根据具体需求自定义节点样式和交互操作。
Winform开发常⽤控件之TreeView菜单导航和权限⽤法TreeView⼀个很棒的控件,我们在做WEB开发时常常犯困的⼀个东东。
当然这⾥介绍winform⾥⾯的⽤法唠。
先介绍⼏个属性吧,CheckBoxes设置为true的话树形节点前⾯会出现checkbox勾选框、ImageList绑定树形⾥⾯的图标(界⾯上放⼀个Imgelist控件,绑定上即可)、ShowLines(树形展开时显⽰线条)等等哦,这个⽅法好,this.MenutreeView.ExpandAll();即Treeview加载后全部展开。
下⾯先介绍⼀个简单的菜单⽤法1、TreeView节点的设置和选取节点TreeView静态节点的设置⽅法很简单,主要⽤在软件的快捷导航中。
贴图,可以设置多级节点,每个节点设置Name和Text属性即可,如果觉得不美观,可以放⼀些图标。
本例中的图标是⽤ImageList绑定到⾥⾯的,还是⽐较简单。
设置好节点后,就可以写节点的事件了,贴代码///<summary>///树形⽬录菜单///</summary>///<param name="sender"></param>///<param name="e"></param>/// AfterSelect事件是点击节点时的事件private void MenutreeView_AfterSelect(object sender, TreeViewEventArgs e){string nodeselect = ;switch (nodeselect){case"⽤户管理": ShowUsermanager(); break;case"竞赛项⽬管理": ShowItemFrm(); break;case"参赛单位管理": ShowDepartFrm(); break;case"运动员信息": ShowMemberInfoFrm(); break;case"代表队名单": ShowMatchTeamFrm(); break;case"随机分组": ShowRandomGroupFrm(); break;case"分组信息": ShowGroupInfoFrm(); break;case"评分管理": ShowPointFrm(); break;case"成绩管理": ShowScoreFrm(); break;default: break;}}看到了吧,还是⽐较简单,case到以后,执⾏相应的⽅法即可,本例中主要是show⼀些窗⼝。
access数据库应用实例Access数据库应用实例摘要:本文介绍了一些常见的Access数据库应用实例。
通过这些实例,读者将了解到如何使用Access数据库来管理和处理各种数据,从而提高工作效率和组织能力。
引言:Access数据库是微软公司推出的一款关系型数据库管理系统,广泛应用于各个行业和领域。
它提供了灵活、易用的界面和强大的功能,使用户能够轻松地创建、维护和管理数据库。
在本文中,我们将以一些实际的应用实例为例,介绍Access数据库的具体用途和功能。
一、学生管理系统学校的学生管理系统是一个典型的Access数据库应用实例。
该系统可以帮助学校管理学生的个人信息、课程安排、考试成绩等重要数据。
通过该系统,学校可以轻松地查询和统计学生成绩,了解学生的学习情况。
同时,学生和家长也可以通过该系统查询自己的信息,如考试成绩和课程表等。
在实现这个系统时,我们首先需要创建一个学生信息表,包括学生的姓名、学号、年级、班级等基本信息。
然后,我们可以创建一个课程表,包括课程的名称、授课教师、上课时间等信息。
此外,还可以创建一个成绩表,用于记录学生的考试成绩。
通过在不同表之间建立关系,我们可以实现对学生信息、课程表和成绩表的查询和统计。
二、库存管理系统库存管理是一个重要且繁琐的任务,而使用Access数据库可以大大简化这个过程。
通过Access数据库,我们可以轻松地管理和跟踪商品的库存情况,包括库存数量、进货日期、售价等信息。
同时,我们还可以通过数据库的查询功能,快速地了解某个商品的库存情况或者预测某个时间段的销售数量。
在实现这个系统时,我们需要创建一个商品信息表,包括商品的名称、编码、进货价等基本信息。
然后,可以创建一个销售记录表和一个进货记录表,用于记录商品的销售和进货情况。
通过在这些表之间建立关系,我们可以实现库存的实时更新和查询功能,更好地管理和控制商品的库存。
三、活动报名系统在组织各种活动时,我们经常需要一个报名系统来统计和管理参与者的信息。
Win32中TreeView控件的使⽤⽅法,类似于资源管理器中⽂件树形显⽰⽅式⾸先是头⽂件,内容如下:#include <tchar.h>#include "..\CommonFiles\CmnHdr.h"#include <Windows.h>#include <WindowsX.h>#include <CommCtrl.h>#include "resource.h"#pragma comment (lib,"comctl32.lib")BOOL InitTreeViewImageLists(HWND hwndTV); //该函数主要⽤于向TreeView控件中添加图⽚HTREEITEM InitTreeCtrl(HWND hwnd,PTSTR pszCaption,int nLevel);//该函数向TreeView控件中添加内容以下是实现函数:#include "InitCtrls.h"extern HINSTANCE g_hInst;extern int g_nOpen;extern int g_nClose;BOOL InitTreeViewImageLists(HWND hwndTV){HIMAGELIST himl;HBITMAP hBitmap;HICON hIcon;if((himl = ImageList_Create(16,16,FALSE,ILC_COLOR,0))==NULL)return FALSE;hBitmap = LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BITMAP1));hIcon = LoadIcon(g_hInst,MAKEINTRESOURCE(IDI_ICON1));//g_nOpen = ImageList_Add(himl,hBitmap,(HBITMAP)NULL);//开始我⽤的是上⾯的⽅法,但不知道为什么添加不上,返回值-1g_nOpen = ImageList_AddIcon(himl,hIcon);DeleteObject(hIcon);hBitmap = LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BITMAP2));hIcon = LoadIcon(g_hInst,MAKEINTRESOURCE(IDI_ICON2));g_nClose = ImageList_AddIcon(himl,hIcon);DeleteObject(hIcon);if(ImageList_GetImageCount(himl) < 2)return FALSE;TreeView_SetImageList(GetDlgItem(GetParent(hwndTV),IDC_TREE),himl,TVSIL_NORMAL);return TRUE;}HTREEITEM InitTreeCtrl(HWND hwnd,PTSTR pszCaption,int nLevel){HWND hwndTreeCtrl = GetDlgItem(hwnd,IDC_TREE);TVITEM tvi;TVINSERTSTRUCT tvins;static HTREEITEM hPrev = (HTREEITEM)TVI_FIRST;//hPrev 代表当前加⼊的新项static HTREEITEM hPrevRootItem = NULL; //前⼀级⽬录static HTREEITEM hPrevLev2Item = NULL;HTREEITEM hti ;tvi.mask = TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM;tvi.pszText = pszCaption;hTextMax = sizeof(pszCaption)/sizeof(pszCaption[0]);tvins.item = tvi;tvins.hInsertAfter = hPrev;if(nLevel == 1)tvins.hParent = TVI_ROOT;else if(nLevel == 2)tvins.hParent = hPrevRootItem;elsetvins.hParent = hPrevLev2Item;hPrev = TreeView_InsertItem(hwndTreeCtrl,&tvins);if(nLevel == 1)hPrevRootItem = hPrev;elsehPrevLev2Item = hPrev;if(nLevel > 1){hti = TreeView_GetParent(hwndTreeCtrl,hPrev);tvi.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE; tvi.hItem = hti;tvi.iImage = g_nOpen;tvi.iSelectedImage = g_nOpen;TreeView_SetItem(hwndTreeCtrl,&tvi);}return hPrev;}。
TreeView组件是由多个类来定义的,TreeView组件是由命名空间"System.Windows.Forms"中的"TreeView"类来定义的,而其中的节点(即Node),是由命名空间"System.Windows.Forms"中的"TreeNode"来定义的。
所以当在程序中创建一个TreeView对象,其实只是创建了一个可以放置节点的"容器"。
而在这个容器中加入一个节点,其实就是加入了从"TreeNode"类中创建的一个节点对象;同样删除一个节点,也就是删除一个"TreeNode"节点对象。
一、C#操作TreeView组件中的一些常用方法以及具体实现:TreeView组件虽然是一个操作起来比较麻烦的组件,但归根到底,可以总结为三种基本操作:加入子节点、加入兄弟节点和删除节点。
掌握了这三种常用操作,对于在编程中灵活运用TreeView组件是十分必要的。
下面就分别来加以介绍。
(1).加入子节点:所谓子节点,就是处于选定节点的下一级节点。
加入子节点的具体过程是:首先要在TreeView 组件中定位要加入的子节点的位置,然后创建一个节点对象,然后利用TreeVeiw类中对节点的加入方法(即:Add ( )方法),加入此节点对象。
下面就是在treeView1组件中加入一个子节点的具体代码://首先判断是否选定组件中的位置if ( treeView1.SelectedNode == null ){MessageBox.Show ( "请选择一个节点" , "提示信息" , MessageBoxButtons.OK , rmation ) ;}else{ //创建一个节点对象,并初始化TreeNode tmp ;tmp = new TreeNode ( "节点名称" ) ;//在TreeView组件中加入子节点treeView1.SelectedNode.Nodes.Add ( tmp ) ;treeView1.SelectedNode = tmp ;treeView1.ExpandAll ( ) ;}(3).删除节点:删除节点就是删除TreeView组件中选定的节点,删除节点可以是子节点,也可以是兄弟节点,但无论节点的性质如何,必须保证要删除的节点没有下一级节点,否则必须先删除此节点中的所有下一级节点,然后再删除此节点。
VBA Treeview:发挥它的功能和价值近年来,VBA(Visual Basic for Applications)作为一种方便、强大的编程语言,越来越受到人们的重视。
在VBA中,Treeview控件是一个非常实用的工具,它可以帮助用户更好地组织和显示数据,提高工作效率。
在本文中,我将以VBA Treeview为主题,探讨其用法、功能和价值。
1. VBA Treeview简介VBA Treeview控件是一种树形结构的控件,通常用于在Windows窗体中显示层次化的数据,比如文件目录、组织结构、分类列表等。
它具有展开和折叠节点的功能,能够清晰地展示数据之间的层次关系,使得用户可以更直观地进行数据查看和操作。
2. VBA Treeview的基本用法在VBA中使用Treeview控件,需要先在工具箱中引入Microsoft Windows Common Controls 6.0库,然后将Treeview控件添加到用户窗体中。
就可以通过VBA代码来动态添加节点、设置节点属性和响应用户操作等。
可以使用Add方法添加根节点和子节点,使用Text、Key、Tag属性设置节点文本、关键字和标签,使用NodeClick事件响应节点被点击等。
3. VBA Treeview的高级功能除了基本的节点操作外,VBA Treeview还支持许多高级的功能,比如节点的拖拽和放置、自定义节点样式、节点的勾选和取消勾选等。
这些功能使得VBA Treeview更加灵活和强大,能够满足各种复杂的数据展示和交互需求。
4. VBA Treeview的应用场景VBA Treeview控件广泛应用于各种领域,比如金融行业的组织机构显示、教育行业的课程结构展示、软件开发中的功能模块导航等。
它可以帮助用户清晰地理解和处理复杂的数据,提高工作效率和用户体验。
5. 个人观点和总结在我看来,VBA Treeview是一个非常有用的工具,它能够帮助用户更好地组织和展示数据,提高工作效率和信息理解能力。
《Access Treeview 应用实例》
使用说明:
本程序可在各种支持VBA语言的软件上直接使用,其中MS Access已成功测试具体步骤为:
1、在Access里创建一个tblTreeview的数据表如下图:
2、在Access里创建一个frmTreeview的窗体,在窗体里创建一个Treeview1的Treeview控件和一个
ImageList1的ImageList控件如下图:
3、然后把程序复制到frmTreeview窗体的加载事件当中如下图:
4、最终效果如下图:
程序:
Private Sub Form_Load()
On Error Resume Next
Dim strParent As String, strChild As String, MyNode As Node
Me.Treeview1.Nodes.Clear '清除Treeview的所有旧节点
Me.Treeview1.ImageList =Me.ImageList1.Object '把图标加载到每个节点前面
Set rst = CurrentDb.OpenRecordset("SELECT * FROM tblTreeview", dbOpenSnapshot, dbReadOnly) 'Treeview 节点数据来源
While Not rst.EOF
strChild = rst!ChildID
If rst!ChildID <> rst!ParentID Then
strParent = Mid(rst!ParentID, 1, Len(rst!ParentID) - Len(rst!ChildID) - 1)
Set MyNode = Me.Treeview1.Nodes.Add(strParent, tvwChild, rst!ParentID, rst!ChildID, "A1", "A3") '加载子节点
Else
strParent = rst!ChildID
Set MyNode = Me.Treeview1.Nodes.Add(, , strChild, rst!ChildID, "A1", "A3") '加载父节点End If
rst.MoveNext
Wend
rst.Close '关闭数据集
Me.Treeview1.HideSelection = False '离开焦点后有阴影
End Sub。