姚明裸體跪求一段TreeView的代碼

ZXYSOSO 2004-08-30 03:23:28
這是一棵樹Tree
Root
|--aaa
|--bbb--bbb1
--bbb2
--bbb3
|--ccc
|--ddd--ddd1
--ddd2
|--eee--eee1
--eee3
--eee4
--eee5

這是一個ListBox1
| aaa |
| bbb |
| ccc |
| ddd |
| eee |

我的要求是這樣的:
當我移動ListBox1的Item時,Tree中節點(aaa,bbb,ccc,ddd,eee...)對應的要選中,即是反白的方式

如我選中ListBox1中的ddd,那Tree中的節點ddd就被選中為反白;如我選中ListBox1中的aaa,那Tree中的節點aa就被選中為反白;
...全文
290 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ly_liuyang 2004-08-30
  • 打赏
  • 举报
回复
都说完了,
没话说了
楚人无衣 2004-08-30
  • 打赏
  • 举报
回复
帮你改一下:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
str: string;
begin
TreeView1.HideSelection := False;
for i := 0 to ListBox1.Items.Count - 1 do
if ListBox1.Selected[i] then str := ListBox1.Items.Strings[i];
for i := 0 to TreeView1.Items.Count - 1 do
with TreeView1.Items.Item[i] do
if (Level = 0) and (Text = str) then.Selected := True;
end;
lfslfs5367 2004-08-30
  • 打赏
  • 举报
回复
那就加个判断!!!
ZXYSOSO 2004-08-30
  • 打赏
  • 举报
回复
因我的Tree只是會找第1層,即是Tree中節點(aaa,bbb,ccc,ddd,eee...),所以我不希望循環所有的節點,


所以,你們的代碼可否改一下
luke5678 2004-08-30
  • 打赏
  • 举报
回复
哈哈...
myling 2004-08-30
  • 打赏
  • 举报
回复
姚明惹谁了?
luke5678 2004-08-30
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
str: string;
begin
TreeView1.HideSelection := False;
for i := 0 to ListBox1.Items.Count - 1 do
begin
if ListBox1.Selected[i] then
str := ListBox1.Items.Strings[i];
end;
for i := 0 to TreeView1.Items.Count - 1 do
begin
if TreeView1.Items.Item[i].Text = str then
TreeView1.Items.Item[i].Selected := True;
end;
end;
ihihonline 2004-08-30
  • 打赏
  • 举报
回复
参考



{----------------TreeView Option ---------------------------}
function TreeAddItem(Sender: TTreeView; ItemList: TStrings;
Bookmark: TBookmark; Resort: Boolean): TTreeNode;
var
ThisNode, Node: TTreeNode;
I: Integer;
begin
Node := nil; //nil = level 0 has no parent node
//this is checked by TreeFindItem
for I := 0 to Itemlist.count -1 do
begin
ThisNode := TreeFindItem(Sender, node, Itemlist[i]);
if ThisNode <> nil then Node := ThisNode else
begin
if I < Itemlist.count -1 then
begin
if I = 0 then
Node := Sender.items.Add(Node, Itemlist[i]) else
Node := Sender.items.AddChild(Node, Itemlist[i]);
end else
begin
if I = 0 then
Node := Sender.items.AddObject(Node, Itemlist[i], Bookmark) else
Node := Sender.items.AddChildObject(Node, Itemlist[i], Bookmark);
end;
Node.stateIndex := Node.level + 1;
if Resort and (Node.parent <> nil) then
Node.parent.alphasort;
end;
end;
Result := Node;
end;

function TreeFindItem(Sender: TTreeView; NodeItem: TTreeNode;
Name: String): TTreeNode;
begin
if NodeItem = nil then
NodeItem := Sender.items.getfirstnode else
NodeItem := NodeItem.getfirstchild;
//NodeItem is now the first item of the desired level
//if this level has no items, NodeItem is nil

if (NodeItem <> nil) and (NodeItem.text <> Name) then
Repeat
NodeItem := NodeItem.getnextsibling;
Until (NodeItem = nil) or (NodeItem.text = Name);
Result := NodeItem;
end;

function TreeGetItem(Sender: TTreeView; ItemList: TStrings): TTreeNode;
begin
Result := TreeAddItem(Sender, Itemlist, nil, false);
end;

procedure TreeDeleteItem(Sender: TTreeView; ItemList: TStrings; Level: Integer);
var
Node, Parent: TTreeNode;
begin
Node := TreeGetItem(Sender, ItemList);
while Node.level >= Level do
begin
Parent := Node.parent;
Node.delete;
if (Parent = nil) or (Parent.hasChildren) then break;
Node := Parent;
end;
end;
luke5678 2004-08-30
  • 打赏
  • 举报
回复
穿上衣服站着说好了
内容概要:本文介绍了一个基于Java+Vue的制造工艺卡片电子化与防错提示系统的设计与实现,旨在解决传统纸质工艺卡片在版本管理、操作一致性、质量追溯等方面的不足。系统通过构建电子工艺卡为核心载体,整合产品、工艺、设备、物料、人员、检验等多维数据,实现工艺文件的在线编制、审批与发布,并利用规则引擎对开工、参数录入、报工等关键环节进行实时校验与分级防错提示。系统采用分层架构设计,前端使用Vue实现交互界面,后端基于Spring Boot提供服务支持,数据库采用关系型结构保障数据一致性。核心功能包括参数范围校验、前序工序完成判断、人员资质有效性检查、风险评分模型与提示等级聚合机制,并通过事件驱动的追溯模型实现全过程制造履历记录与分析。项目还提供了完整的领域模型、防错规则引擎、数据生成代码示例,支持与MES、条码系统等集成,助力企业实现制造过程数字化、标准化与智能化。; 适合人群:具备一定Java和Vue开发基础,从事制造业信息化、MES系统开发、工业软件研发的相关技术人员,以及关注智能制造、工艺管理数字化转型的工程师与管理者。; 使用场景及目标:①替代传统纸质工艺卡,实现工艺文件的集中管控与版本一致性;②在生产过程中自动校验人员、设备、物料、参数等是否符合工艺要求,预防人为错误;③建立全流程制造数据追溯体系,支持质量问题快速定位与根因分析;④通过风险评分与数据分析优化工艺稳定性与生产效率。; 阅读建议:此资源包含完整的系统架构设计、核心模型说明及可运行的代码片段,建议开发者结合实际制造场景理解各模块设计逻辑,重点掌握规则引擎的实现方式与数据流转机制,并可通过提供的数据生成工具模拟测试系统行为,进一步拓展至真实产线应用。
在当今全球气候变化的大背景下,对气候数据的分析和研究显得尤为重要。"ClimateDataToolbox"(CDT)作为一个专业的工具箱,为科研人员、环境学者以及政策制定者提供了强大的数据处理和分析能力。这款工具箱旨在简化气候数据的获取、管理和应用过程,从而帮助用户更好地理解地球气候系统的变化。 CDT的核心功能主要包括以下几个方面: 1. 数据获取:CDT能够便捷地连接到多个气候数据源,包括但不限于NASA、NOAA等权威机构,用户可以直接在工具箱中下载并导入各种气候模型输出数据、观测数据以及历史气候数据。 2. 数据预处理:工具箱内置了多种数据清洗和格式转换功能,可以处理缺失值、异常值,并将不同格式的数据统一,为后续分析做好准备。 3. 数据可视化:CDT提供了丰富的图形绘制选项,用户可以创建气候图、时间序列图、空间分布图等多种图表,直观展示气候变量的变化趋势和空间格局。 4. 数据分析:CDT支持对气候数据进行统计分析,如趋势分析、相关性分析、空间统计等,帮助用户深入探究气候现象背后的规律。 5. 模型应用:对于气候模型的使用者,CDT可以协助进行模型结果的比较和评估,比如通过对比不同气候模型的预测结果,分析其差异和一致性。 6. 地图制作与地理信息系统集成:CDT可以与GIS软件无缝对接,用户可以利用其制作高精度的地图,用于展示气候变量的地理分布,同时进行空间分析。 7. 教学与科普:CDT不仅适用于专业研究,也适合教学和科普活动,通过直观的界面和操作,让气候变化的理解更加直观易懂。 通过使用ClimateDataToolbox,用户能够高效地进行气候数据分析,提升研究效率,为应对气候变化提供科学依据。无论你是从事气候研究的学者,还是关注环保的公众,CDT都能成为你探索气候世界的得力助手。 在实际使用中,"ClimateDataToolbox.m

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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