WebGrid控件树的点击一个节点同时选中父节点和子节点 -- Intersoft WebUI Studio.NET 2007控件使用
2007-08-27 14:56
701 查看
1.在WebGrid控件中这样设置可以把数据已树状形式显示
2下面是相应的JS代码
//选中子节点
function DoChildCheck(rootTable,CurrentRowElement,check,strFunc)
...{
var selectedIndex = CurrentRowElement.rowIndex;
var selectedSrLevelAttributes = CurrentRowElement.attributes["srLevel"];
var selectedSrLevel = parseInt(selectedSrLevelAttributes.value);
var tableElement = CurrentRowElement.parentElement;
for (var i = selectedIndex + 1 ; i < tableElement.childNodes.length ; i++)
...{
var rowElement = tableElement.childNodes[i];
var srLevelAttributes = rowElement.attributes["srLevel"];
var srLevel = parseInt(srLevelAttributes.value);
if (selectedSrLevel + 1 == srLevel)
...{
var row = rootTable.ToRowObject(rowElement);
doCheck = false;
if (check)
row.Check();
else
row.Uncheck();
doCheck = true;
strFunc = strFunc + GetRowCode(row,2) + ',';
strFunc = DoChildCheck(rootTable,rowElement,check,strFunc);
}
else
break;
}
return strFunc;
}
//选中父节点
function DoParentCheck(rootTable,CurrentRowElement,check,strFunc)
...{
var selectedIndex = CurrentRowElement.rowIndex;
var selectedSrLevelAttributes = CurrentRowElement.attributes["srLevel"]; // get self reference level
var selectedSrLevel = parseInt(selectedSrLevelAttributes.value);
var tableElement = CurrentRowElement.parentElement; // get table element that holds self reference rows
for (var i = selectedIndex ; i >= 0 ; i--)
...{
var rowElement = tableElement.childNodes[i];
var srLevelAttributes = rowElement.attributes["srLevel"]; // get self reference level
var srLevel = parseInt(srLevelAttributes.value);
if (selectedSrLevel - 1 == srLevel) // check the level of self reference level
// if true = parent row
...{
var row = rootTable.ToRowObject(rowElement);
doCheck = false;
if (check)
row.Check();
else
row.Uncheck();
doCheck = true;
strFunc = strFunc + GetRowCode(row,2) + ',';
strFunc = DoParentCheck(rootTable,rowElement,check,strFunc);
break;
}
}
return strFunc;
}
3.使用效果
2下面是相应的JS代码
//选中子节点
function DoChildCheck(rootTable,CurrentRowElement,check,strFunc)
...{
var selectedIndex = CurrentRowElement.rowIndex;
var selectedSrLevelAttributes = CurrentRowElement.attributes["srLevel"];
var selectedSrLevel = parseInt(selectedSrLevelAttributes.value);
var tableElement = CurrentRowElement.parentElement;
for (var i = selectedIndex + 1 ; i < tableElement.childNodes.length ; i++)
...{
var rowElement = tableElement.childNodes[i];
var srLevelAttributes = rowElement.attributes["srLevel"];
var srLevel = parseInt(srLevelAttributes.value);
if (selectedSrLevel + 1 == srLevel)
...{
var row = rootTable.ToRowObject(rowElement);
doCheck = false;
if (check)
row.Check();
else
row.Uncheck();
doCheck = true;
strFunc = strFunc + GetRowCode(row,2) + ',';
strFunc = DoChildCheck(rootTable,rowElement,check,strFunc);
}
else
break;
}
return strFunc;
}
//选中父节点
function DoParentCheck(rootTable,CurrentRowElement,check,strFunc)
...{
var selectedIndex = CurrentRowElement.rowIndex;
var selectedSrLevelAttributes = CurrentRowElement.attributes["srLevel"]; // get self reference level
var selectedSrLevel = parseInt(selectedSrLevelAttributes.value);
var tableElement = CurrentRowElement.parentElement; // get table element that holds self reference rows
for (var i = selectedIndex ; i >= 0 ; i--)
...{
var rowElement = tableElement.childNodes[i];
var srLevelAttributes = rowElement.attributes["srLevel"]; // get self reference level
var srLevel = parseInt(srLevelAttributes.value);
if (selectedSrLevel - 1 == srLevel) // check the level of self reference level
// if true = parent row
...{
var row = rootTable.ToRowObject(rowElement);
doCheck = false;
if (check)
row.Check();
else
row.Uncheck();
doCheck = true;
strFunc = strFunc + GetRowCode(row,2) + ',';
strFunc = DoParentCheck(rootTable,rowElement,check,strFunc);
break;
}
}
return strFunc;
}
3.使用效果
相关文章推荐
- WebGrid问题集锦 -- Intersoft WebUI Studio.NET 2007控件使用
- 不能实现或功能冲突 -- Intersoft WebUI Studio.NET 2007控件使用
- WebCombo问题集锦 -- Intersoft WebUI Studio.NET 2007控件使用
- 开篇 -- Intersoft WebUI Studio.NET 2007控件使用
- Visual Studio.Net 2005中验证控件的一个使用方法
- WebUI Studio.NET 2007 R2 控件产品介绍 技术交流
- QTreeView控件判断鼠标点击是否选中叶子节点
- 点击一个checkbox控件,使得Datagrid里的模版里放的checkbox全部选中
- asp:Treeview点选一个节点时自动全部选中(或全部不选中)子点节,同时判断选中父节点
- 使用Spread Studio for .NET为控件创建自定义皮肤
- [参考]一个ASP.Net的DataGrid分页控件,在Oracle数据库下,每次只取当前页的数据,不使用存储过程
- Intersoftpt WebUI Studio.NET 2007 R2 UnLockISNet2007R2破解
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
- asp.net treeview控件无刷新选择和删除节点(使用jquery)
- [置顶] MFC树形控件CTreeCtrl使用方法、遍历、SetCheck无效、根据名称获取节点、获取选中节点等问题
- c# winform TreeView控件点击节点,它的子节点被全部选中或者取消选中
- Asp.net 2.0 TreeView控件使用jQuery无刷新添加节点详细说明
- Visual studio.net 2003中使用自定义(用户)控件(服务器控件)的方法(原创)
- Microsoft.web.ui treeview 中树型控件的选择,选中节点父子节点同时选中,解决客户端选择以后,在后台代码中无法得到选中节点的值
- 如何使用asp.net中的控件将一个图片文件从一个目录传到另外一个目录下?