cxdbtreelist的按记录查找节点
lst_projet.DataController.DataSet.Locate('pm_id',vPm_ID,[]);
bl:= lst_projet.DataController.DataSet.getBookmark;
lst_projet.DataController.DataSet.GotoBookmark(bl);
lst_projet.SetFocus;
lst_projet.FocusedNode.Expanded:=true;
=======================
http://blog.163.com/bin0315@126/blog/static/40662642201284250445/
一、导出EXCEL TXT HTML:
uses cxTLExportLink;
cxExportTLToEXCEL(dm.SaveDialog.FileName,cxDBTreeList1,TRUE,TRUE); //轉入EXCEL
cxExportTLToTEXT(dm.SaveDialog.FileName,cxDBTreeList1,TRUE,TRUE); //轉入TXT
cxExportTLToHTML(dm.SaveDialog.FileName,cxDBTreeList1,TRUE,TRUE); //轉入HTML

---------------------------------------------------------------------------------------------------------------
二、cxdbtreelist1共多少条记录: showmessage(inttostr(cxtreelist1.VisibleCount));
cxdbtreelist1当前记录的索引: showmessage(inttostr(cxTreeList1.FocusedNode.VisibleIndex));
cxdbtreelist1有多少列: showmessage(inttostr(cxtreelist1.VisibleColumnCount));
cxdbtreelist1当前记录的层级: showmessage(inttostr(cxTreeList1.FocusedNode.Level));
cxdbtreelist1自动展开: cxtreelist1.fullexpand; //自动展开
cxdbtreelist1自动折叠 : cxtreelist1.FullCollapse;
cxdbtreelist1取上级节点内容: ShowMessage(cxdbTreeList1.FocusedNode.Parent.Values[0]);
三、新增、删除结点:
增加同级结点:
procedure Tfr_bommglin.cxButton1Click(Sender: TObject);
var node:TcxTreeListNode;
begin
node:=cxdbTreeList1.FocusedNode.Parent.AddChild;
node.Values[0]:='aaaaa';
node.Values[1]:=node.Level;
end;
增加下级节点:
procedure Tfr_bommglin.cxButton2Click(Sender: TObject);
var node:TcxTreeListNode;
begin
node:=cxdbTreeList1.FocusedNode.AddChild; //增加子节点在首记录:cxdbTreeList1.FocusedNode.AddChildFirst;
node.Values[0]:='aaaaa';
node.Values[1]:=node.Level+1;
cxdbTreeList1.FocusedNode.Expanded:=true; //展开子节点
end;
删除节点:
ClientDataSet1.GetBookmark;
cxdbTreeList1.FocusedNode.Delete; //删除当前节点记录;删除当前节点的子节点:cxdbTreeList1.FocusedNode.DeleteChildren;
cxDBTreeList1.DataController.GotoBookmark;
多节点选择删除:
cxDBTreeList1.DeleteSelection
数据集控制:
cxDBTreeList1.DataController.dataset.GotoFirst; //GotoLast gotonext gotoprev GotoBookmark
cxDBTreeList1.DataController.dataset.Append; //cancel updatedata
cxDBTreeList1.DataController.dataset.edit;
根据cxdbtreelist随clientdataset1记录定位:
首先:bl:=cxDBTreeList1.DataController.DataSet.GetBookmark;
接着:cxDBTreeList1.DataController.DataSet.GotoBookmark(bl);
cxDBTreeList1.SetFocus;
多结点选择取记录:
for i:=0 to cxDBTreeList1.SelectionCount-1 do
begin
ShowMessage(cxDBTreeList1.Selections[i].Values[1]);
end;
-------------------------------------------------------------------------------------------
三、增加节点图片:
先在窗体上放ImageList关联到cxDBTreeList,在cxDBTreeList的GetNodeImageIndex事件中写如下:
procedure cxDBTreeList1GetNodeImageIndex(Sender:TcxCustomTreeList; ANode: TcxTreeListNode; AIndexType:
TcxTreeListImageIndexType; var AIndex: TImageIndex);
var
i :Integer;
begin
//给树结点加上图标
for i := 0 to ANode.ValueCount do
begin
if ANode.Level = 0 then
begin
ANode.ImageIndex := 0;
end
else
if ANode.Level = 1 then
begin
ANode.ImageIndex := 2;
end
else
if ANode.Level = 2 then
begin
ANode.ImageIndex := 1;
end;
end;
end;
cxdbtreelist的按记录查找节点的更多相关文章
- 算法学习记录-查找——二叉排序树(Binary Sort Tree)
二叉排序树 也称为 二叉查找数. 它具有以下性质: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值. 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值. 它的左.右子树也分别 ...
- DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。
DOM操作 --如何添加.移除.移动.复制.创建和查找节点等. (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个 ...
- (一)DOM 常用操作 —— “查找”节点
在 DOM 树中,如果想要操作一个节点,那么首先要"查找"到这个节点.查找节点的方法由 Document 接口定义,而该接口由 JavaScript 中的 document 对象实 ...
- Selenium 查找节点
Selenium 可以驱动浏览器完成各种操作,比如填充表单.模拟点击等.比如,我们想要完成向某个输入框输入文字的操作,总需要知道这个输入框在哪里吧?而 Selenium 提供了一系列查找节点的方法,我 ...
- 再谈树---无根树转有根树( dfs搜索转化+fa数组记录父节点) *【模板】
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <vector> ...
- javasript 的DOM 节点操作:创建,插入,删除,复制以及查找节点
DOM 含义: DOM 是文档对象模型(Document Object Model) 是一种基于浏览器编程的一套API 接口,我W3C 出台推荐的标准.其赋予了JS 操作节点的能力,当网页被加载时,浏 ...
- JS中的DOM操作怎样添加、移除、移动、复制、创建和查找节点
DOM操作怎样添加.移除.移动.复制.创建和查找节点? (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元 ...
- Dom4j 查找节点或属性
Dom4j 查找节点或属性 例如 1 查找下面xml中的student节点的age属性, xpathstr="/students/student/@age"; 2 查找下面xml ...
- cocoscreator查找节点的方法 (跟jquery find一样)
var each = function(object, callback) { var type = (function() { switch (object.constructor) { case ...
随机推荐
- Lightoj 1235 - Coin Change (IV) 【二分】
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1235 题意: 有N个硬币(N<=18).问是否能在每一个硬币使用不超过两 ...
- oj测试点相关 (整理摘编)
Accepted 通过!(AC) Wrong Answer 答案错.(WA) Runtime Error ...
- 脑洞大开加偏执人格——可持久化treap版的Link Cut Tree
一直没有点动态树这个科技树,因为听说只能用Splay,用Treap的话多一个log.有一天脑洞大开,想到也许Treap也能从底向上Split.仔细思考了一下,发现翻转标记不好写,再仔细思考了一下,发现 ...
- MySQL实现递归查询
DROP FUNCTION IF EXISTS queryChildrenCaseInfo;CREATE FUNCTION queryChildrenCaseInfo(cId INT)RETURNS ...
- CSS的常用属性(二)
盒子模型之边框 border-(top/bottom/left/right)-style: solid 边框的风格 如(solid 实线,dotted 点线,dashed 虚线) border-top ...
- 快速搭建tab
1. 布局文件代码: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.a ...
- Unity引擎GUI之Slider和Scrollbar
Slider(滑动条):是一个主要用于形象的拖动以改变目标值的控件,他的最恰当应用是用来改变一个数值,最大值和最小值自定义,拖动滑块可在此之间改变,例如改变声音大小. Scrollbar(滚动条):是 ...
- 学习廖雪峰的Python教程之第一个Python程序
一.命令行模式和Python交互模式的区分 命令行模式: Python交互模式 二.文本编辑器 1.绝对不能用Word和Windows自带的记事本.Word保存的不是纯文本文件,而记事本会自作聪明地在 ...
- [iOS Reverse]logify日志追踪,锁定注入口-控制台查看
前言 logify是theos的一个组件,路径是: /opt/theos/bin/logify.pl 我们还是以微信红包为例子,根据[iOS Hacking]运行时分析cycript得到的入口文件: ...
- logging模块-logging.basicConfig、logger.setLevel、handler.setLevel优先级
logging.basicConfig < handler.setLevel < logger.setLevel 1.脚本中没有配置logger.setLevel会使用handler.se ...