利用数据库的条目来构建树形控件节点,节点的响应问题

eliteGoblin 2008-04-29 03:42:51
现在有三个表:

SchoolInfo=SchoolID+SchoolName
ClassInfo=SchoolID+ClassID+ClassName
StudentInfo=SchoolID+ClassID+StudentID+StudentName

树形控件的根结点是学校,学校的子节点是班级,假设总共有三个学校:学校1,学校2,学校3.学校1有班级1,班级2;学校2有班级1,班级2;学校3有班级1;

现在我想实现的是点击树形控件的任意一个节点,比如班级1,系统能判断出这个结点的类型是学校还是班级节点,学校名或者班级名;我只能想到让树形控件响应:TVN_Selchanged 消息,用 m_ctrlTree.GetSelectedItem();然后利用GetItemText函数返回当前结点的标题,在此基础上进行判断.可这样必须要求节点命名很规范,如果自定义名字,比如"哈佛",就没法判断类型了.

我想知道根据数据库的内容建立起树形控件后,数据库和树形控件的联系是否仅仅剩下树形控件节点标题了,有其他方法能知道当前选择的节点在数据库中是一个怎么样的位置吗? 类似这种问题实际中是如何解决的? 感觉建立好树形控件的各个节点的作用仅仅是为了显示,而与数据库完全脱离关系了.

谢了.
...全文
198 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
以后需再关注,现在先帮你顶一下
an_bachelor 2008-04-29
  • 打赏
  • 举报
回复
或者用
HTREEITEM InsertItem(
UINT nMask,
LPCTSTR lpszItem,
int nImage,
int nSelectedImage,
UINT nState,
UINT nStateMask,
LPARAM lParam,
HTREEITEM hParent,
HTREEITEM hInsertAfter
);
指定lParam
an_bachelor 2008-04-29
  • 打赏
  • 举报
回复
不用擔心 樹控件節點可以關聯更多的信息
SetItemData() GetItemData()可以設置/找回一個你自己知道意義的值(比如包含自定義結構的指針)
掌握分布式mapreduce与raft算法与分布式数据库MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念Map(映射)和Reduce(归约),是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。3)MapReduce是一个并行程序设计模型与方法(Programming Model & Methodology)。它借助于函数式程序设计语言Lisp的设计思想,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如leader人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减少需要考虑的状态的数量。从一个用户研究的结果可以证明,对于学生而言,Raft 算法比 Paxos 算法更加容易学习。Raft 算法还包括一个新的机制来允许集群成员的动态改变,它利用重叠的大多数来保证安全性。 一致性算法允许一组机器像一个整体一样工作,即使其中一些机器出现故障也能够继续工作下去。正因为如此,一致性算法在构建可信赖的大规模软件系统中扮演着重要的角色。在过去的 10 年里,Paxos 算法统治着一致性算法这一领域:绝大多数的实现都是基于 Paxos 或者受其影响。同时 Paxos 也成为了教学领域里讲解一致性问题时的示例。 但是不幸的是,尽管有很多工作都在尝试降低它的复杂性,但是 Paxos 算法依然十分难以理解。并且,Paxos 自身的算法结构需要进行大幅的修改才能够应用到实际的系统中。这些都导致了工业界和学术界都对 Paxos 算法感到十分头疼。 和 Paxos 算法进行过努力之后,我们开始寻找一种新的一致性算法,可以为构建实际的系统和教学提供更好的基础。我们的做法是不寻常的,我们的首要目标是可理解性:我们是否可以在实际系统中定义一个一致性算法,并且能够比 Paxos 算法以一种更加容易的方式来学习。此外,我们希望该算法方便系统构建者的直觉的发展。不仅一个算法能够工作很重要,而且能够显而易见的知道为什么能工作也很重要。 Raft 一致性算法就是这些工作的结果。在设计 Raft 算法的时候,我们使用一些特别的技巧来提升它的可理解性,包括算法分解(Raft 主要被分成了leader人选举,日志复制和安全三个模块)和减少状态机的状态(相对于 Paxos,Raft 减少了非确定性和服务器互相处于非一致性的方式)。一份针对两所大学 43 个学生的研究表明 Raft 明显比 Paxos 算法更加容易理解。在这些学生同时学习了这两种算法之后,和 Paxos 比起来,其中 33 个学生能够回答有关于 Raft 的问题。 Raft 算法在许多方面和现有的一致性算法都很相似(主要是 Oki 和 Liskov 的 Viewstamped Replication),但是它也有一些独特的特性: 强leader:和其他一致性算法相比,Raft 使用一种更强的leader能力形式。比如,日志条目只从leader发送给其他的服务器。这种方式简化了对复制日志的管理并且使得 Raft 算法更加易于理解。leader选举:Raft 算法使用一个随机计时器来选举leader。这种方式只是在任何一致性算法都必须实现的心跳机制上增加了一点机制。在解决冲突的时候会更加简单快捷。成员关系调整:Raft 使用一种共同一致的方法来处理集群成员变换的问
一、VB控件集,控件集内含ListView、漂亮按钮、下拉列表、TAB窗体选项卡、树形菜单控件、窗体滑动菜单、分组菜单,可折叠展开的菜单等。以前就更新过,现在修正了不少控件中的小错误,更接近完善了,相信这些控件对于从事vb6编程的朋友来说,是相当实用的。 二、1, clistbar.zip 超级的列表框,你一定不会失望(137KB) 2, axtree.zip 用惯了treeview控件的朋友可以试一试这款axtree控件,它增添了更多的控制(129KB) 3,richedit 利用RichText实现的编辑器,提供了修改字体,打印,查询等功能(4KB) 4,exptrocx.zip 实现explorer风格的树型目录的activex控件(1191KB) 5,txtsrch 在Text中实现快速增量查询(5KB) 6,exproplist.zip 建立一个如同vb里属性栏一样的东东,不仅形似,神也似(137KB) 7,combosrc.zip 在 COMBO 中的增量查询(2KB) 8,escombo.zip 为COomBo控件加强版,有近似关键字搜索功能(27KB) 9,sblist20.zip 它允许你用各自颜色(162KB) 10,wordwrap.zip 在 TextBox 中自动换行(2KB) 11,chklst.zip Check Box 和 List的结合体(101KB) 12,aresbuttonpro.zip aresbutton是一个显示图形按钮的activex控件, 主页地址http://const.ricor.ru/~art/aresbutton(320KB) 13,kenjLV1.zip ListView的API效果演示(11KB) 14,cbuttonr.zip 扩充的按钮控件(24KB) 15,csplitba.zip 在窗体里随意建立分隔条(11KB) 16,gbarocx.zip 进度条(171KB) 17,ccrpprg.zip 一个进度条的控件,可以有多种形态供你选择(142KB) 18,chklsb25.zip 它提供了类似 word 和 excel 中的内含检查框 ( checkbox)的列表框(listbox)。在这个控制中,每一个条目的字体、颜色、使能状态和选中状态都可以被单独设置。这个控制也支持3d外观、图片条目和定制的检查框符号(167KB) 19,as97ppup.zip 一种可以弹出的按钮,具有多种形态和功能(32KB) 20,slidrc.zip 形状类似于收音机音量控制的滚动条(296KB) 21,TracBar.zip 滚动条模块,与 VB 的滚动条比较, 该模块支持动态生成, 支持触发消息(7KB) 22,srchlist.zip 在 list 控件里进行增量查询(3KB) 23,devfltbt.zip 可爱的按钮(141KB) 24,treedrag.zip TreeView 中节点拖动、增加、删除等功能演示(8KB) 25,dirview.zip 装入整个 C 盘目录到 TreeView(5KB) 26,msghook.exe 专门用来截取Windows消息的控件(114KB) 27,led.ZIP 象电子表一样显示数字的控件(17KB) 28,splitbardemo.ZIP 无须任何代码,即可随意拖动该控件,有水平和垂直两种样式。支持 MouseOver 事件(拖动结束)(11KB) 29,hotkeydemo.ZIP 该控件可以为你的应用程序添加一个系统级的热键,通过HotkeyPressed事件来处理热键的按下后的工作。(15KB) 30,pwdboxdemo.ZIP 每当用键盘输入一个字符时,将显示出随机个数的密码字符(31KB) 31,c5.zip 防火墙控件(39KB) 32,c6.zip 列出Windows运行的所有程序,并终止其运行的控件(18KB) 33,taskbar.zip 一个日期控件(有源代码)(6KB) 34,encrypt.zip 加密/解密字符串的控件(46KB) 35,activelock.zip

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧