.NET中的TreeView控件的checkbox勾选问题的解决办法
2008-05-17 09:02
225 查看
.NET中的TreeView控件的checkbox勾选在录制下来的脚本中看到是位置敏感的,该问题可以使用以下函数解决:
// 选择指定TreeView的某个节点,把其前面的CheckBox勾选上
// Nodes:节点的全路径,例如:'|节点1|节点2'。
// NodeItem:TreeView控件。
Function SelectItem(Nodes,TreeView);
var NodesLevel,I,J,NodeName:OleVariant;
begin
// 获取节点路径的层次
NodesLevel := BuiltIn.GetListCount(Nodes,'|');
// 遍历每一个层次
For I:=1 to NodesLevel-1 do
begin
// 获取节点名称
NodeName := BuiltIn.GetListItem(Nodes,I, '|');
// 查找TreeView中当前层次的节点
For J:=0 To TreeView.Nodes.Count -1 do
begin
// 如果找到节点,则进入下一个节点层次
If(VarToStr(TreeView.Nodes.Item[J].Name) = NodeName )then
begin
TreeView := TreeView.Nodes.Item[J];
break;
end;
end;
end;
// 把找到的节点的Checked属性赋值为True,从而实现选中节点的目的
TreeView.Checked :=True;
end;
procedure TestSelectItem;
var w1 : OleVariant;
var w2 : OleVariant;
begin
w1 := Sys.Process('TreeView').Form1;
w1.Click(151, 14);
w2 := w1.treeView1;
SelectItem('|节点1',w2);
SelectItem('|节点1|节点2',w2);
SelectItem('|节点1|节点3',w2);
end;
// 选择指定TreeView的某个节点,把其前面的CheckBox勾选上
// Nodes:节点的全路径,例如:'|节点1|节点2'。
// NodeItem:TreeView控件。
Function SelectItem(Nodes,TreeView);
var NodesLevel,I,J,NodeName:OleVariant;
begin
// 获取节点路径的层次
NodesLevel := BuiltIn.GetListCount(Nodes,'|');
// 遍历每一个层次
For I:=1 to NodesLevel-1 do
begin
// 获取节点名称
NodeName := BuiltIn.GetListItem(Nodes,I, '|');
// 查找TreeView中当前层次的节点
For J:=0 To TreeView.Nodes.Count -1 do
begin
// 如果找到节点,则进入下一个节点层次
If(VarToStr(TreeView.Nodes.Item[J].Name) = NodeName )then
begin
TreeView := TreeView.Nodes.Item[J];
break;
end;
end;
end;
// 把找到的节点的Checked属性赋值为True,从而实现选中节点的目的
TreeView.Checked :=True;
end;
procedure TestSelectItem;
var w1 : OleVariant;
var w2 : OleVariant;
begin
w1 := Sys.Process('TreeView').Form1;
w1.Click(151, 14);
w2 := w1.treeView1;
SelectItem('|节点1',w2);
SelectItem('|节点1|节点2',w2);
SelectItem('|节点1|节点3',w2);
end;
相关文章推荐
- RecyclerView嵌入CheckBox带来的显示问题的解决办法
- listView的item中含有checkbox的一些问题及解决办法
- .Net Web开发中几个诡异问题的解决办法
- 应用程序从.net 2.0 升级到.net 4.0 后遇到的问题及解决办法
- Checkbox Text 重影问题的解决办法
- .NET发布网站出现了一系列问题(1)---“无法显示XML页”的解决办法
- .NETC#下AE二次开发过程中出现的属性表不能更新问题解决办法
- jquery中checkbox反复没反应问题解决办法
- Ajax乱码问题 .net解决办法
- 用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解决办法
- 安装Sql server 2008遇到无法安装.net 3.5的问题解决办法
- .NET 操作 MySql 时,出现Duplicate entry '0' for key 'PRIMARY'问题解决办法
- C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?
- .Net安装后问题与解决办法
- WebService处理.net中Dataset问题解决办法
- 关于ListView中checkBox选中状态错乱问题的解决办法
- .net读取xml文件中文乱码问题解决办法
- VS2010不能识别.net2.0的问题和解决办法
- Java调用.Net WebService问题,以及参数为空解决办法
- Microsoft Windows2000 advanced server,浏览器是IE5.0升级到IE6.0时出现问题的解决办法 推荐