技术来自google
首先在.cs文件里给treeview控件添加属性
PageTV.Attributes.Add("oncheck", "tree_oncheck()");
然后在相应的页面上在<html和<head之间加入以下javascript代码
<script language="javascript">
<!--
function tree_oncheck()
{
var node = PageTV.getTreeNode(event.treeNodeIndex);
var Pchecked = node.getAttribute("checked");
setcheck(node, Pchecked);
PageTV.queueEvent('oncheck', node.getNodeIndex());
}
function setcheck(node, Pc)
{
var ChildNode = new Array();
ChildNode = node.getChildren();
if (parseInt(ChildNode.length) != 0)
{
for (var i = 0; i < ChildNode.length; i++)
{
var cNode = ChildNode[i];
if (cNode.getAttribute("checked") != Pc)
{
if (parseInt(cNode.getChildren().length) != 0)
setcheck(cNode, Pc);
cNode.setAttribute("checked", Pc);
PageTV.queueEvent('oncheck', cNode.getNodeIndex());
}
}
}
}
//-->
</script>
整个功能的实现需要修改微软treeview控件的一个Bug
需要修改inetpub\wwwroot\webctrl_client\1_0\treeview.htc。
把function doCheckboxClick(el)中的第一行,
el.checked = !el.checked;
改成:
el.checked = !el.getAttribute("checked");
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)