Access Treeview 应用实例

合集下载

treeview控件应用

treeview控件应用

树形结构控件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控件中的一项,它包含图像与文本。

盟威软件快速开发平台(access版)开发教程_报销管理案例

盟威软件快速开发平台(access版)开发教程_报销管理案例

3.2 功能设计说明书
3.2.1 基本资料模块
员工信息:增加、修改、删除、查找功能
______________________________________________________________________________________________________________ 上海盟威软件有限公司 公司网站 : 技术网站: 7
第三章 程序设计文档
为了方便学习,在本教程中直接嵌入了程序设计文档(需求设计、功能设计、表设计文档),这三个文档原本 有规范化格式,在此进行了简化,详细的文档写法请参考相关书籍与资料。
_______________________________________________________________________ 上海盟威软件有限公司 公司网站 : 技术网站: 6
______________________________________________________________________________________________________________ 上海盟威软件有限公司 公司网站 : 技术网站: 1
盟威软件快速开发平台 (Access 版)
报销教程
3.1 需求设计说明书
3.1.1 概述
文档说明 本需求和设计说明书是为了满足公司更加有效地管理协调费用的报销而开发的一套管理软件的简略说明。 设计目标 满足公司对费用报销的有效管理,使公司可以更加有效的协调和控制公司的费用开支,优化和降低公司的运 营成本,提高公司的盈利水平,使公司的管理更上一个台阶。
采用盟威软件快速开发平台,盟威软件公司将为您的部门培养开发人员 1 名(或者您自已),由贵部门开发人 员或您来开发本部门用软件,可以达到低成本、可持续性改进的作用,从而实现本部门信息化,让您的部门走在 其它部门的前面,实现您的管理思路,提高工作效率。(适于大中型企事业单位的中层干部)

qml treeview 简单例子

qml 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菜单导航和权限用法

Winform开发常用控件之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数据库应用实例。

该系统可以帮助学校管理学生的个人信息、课程安排、考试成绩等重要数据。

通过该系统,学校可以轻松地查询和统计学生成绩,了解学生的学习情况。

同时,学生和家长也可以通过该系统查询自己的信息,如考试成绩和课程表等。

在实现这个系统时,我们首先需要创建一个学生信息表,包括学生的姓名、学号、年级、班级等基本信息。

然后,我们可以创建一个课程表,包括课程的名称、授课教师、上课时间等信息。

此外,还可以创建一个成绩表,用于记录学生的考试成绩。

通过在不同表之间建立关系,我们可以实现对学生信息、课程表和成绩表的查询和统计。

二、库存管理系统库存管理是一个重要且繁琐的任务,而使用Access数据库可以大大简化这个过程。

通过Access数据库,我们可以轻松地管理和跟踪商品的库存情况,包括库存数量、进货日期、售价等信息。

同时,我们还可以通过数据库的查询功能,快速地了解某个商品的库存情况或者预测某个时间段的销售数量。

在实现这个系统时,我们需要创建一个商品信息表,包括商品的名称、编码、进货价等基本信息。

然后,可以创建一个销售记录表和一个进货记录表,用于记录商品的销售和进货情况。

通过在这些表之间建立关系,我们可以实现库存的实时更新和查询功能,更好地管理和控制商品的库存。

三、活动报名系统在组织各种活动时,我们经常需要一个报名系统来统计和管理参与者的信息。

c#.net控件treeview用法

c#.net控件treeview用法
//定位根节点 treeView1.SelectedNode = treeView1.Nodes [ 0 ] ; //折叠组件中所有节点 treeView1.SelectedNode.Collapse ( ) ;
至此已经把在 C#操作 TreeView 组件的常用方法和一般方法基本都介绍完了。 三. C#编写的一个完整操作 TreeView 组件的例子:
//判断选定的节点是否存在下一级节点 if ( treeView1.SelectedNode.Nodes.Count == 0 ) //删除节点 treeView1.SelectedNode.Remove ( ) ; else MessageBox.Show ( "请先删除此节点中的子节点!" , "提示信息" , MessageBoxButtons.OK , rmation ) ;
//定位根节点 treeView1.SelectedNode = treeView1.Nodes [ 0 ] ; //展开组件中的所有节点 treeView1.SelectedNode.ExpandAll ( ) ;
< II > .展开选定节点的下一级节点:
由于只是展开下一级节点,所以就没有必要用 ExpandAll ( )方法了。展开下一级节点只 需要调用 Expand ( )方法就可以了,下面是具体的实现代码:
下面是 C#编写一个的关于 TreeView 组件的例子,在这个例子中,结合以上介绍的常 用方法和一般方法,基本覆盖来 TreeView 组件的一些最常用的操作。譬如可以灵活的程序 中的 TreeView 组件中,进行加入子节点、兄弟节点、删除节点、折叠、展开等操作。其中 前三种基本操作是通过程序中弹出菜单中的功能来实现的,后面操作是通过程序中的按钮来 实现的。下面是此程序的代码节略(TreeView.cs):

Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式

Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式

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;}。

C#中TreeView控件的用法

C#中TreeView控件的用法

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组件中选定的节点,删除节点可以是子节点,也可以是兄弟节点,但无论节点的性质如何,必须保证要删除的节点没有下一级节点,否则必须先删除此节点中的所有下一级节点,然后再删除此节点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《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。

相关文档
最新文档