带CheckBox的TreeView网上出错问题解决办法
问题描述:
TreeView上传到服务器,预览效果发现节点图片不显示、展开合并功能缺失.
解决办法:
以下是我个人的解决办法,最终的效果实现了,但是还有一点点小遗憾,就是页面上有基于微软的调用js的报错信息。
CheckBox选择JS,代码是网上找的。
<script language="javascript" type="text/javascript">
var Obj_;
document.onclick=function()
{
if(event.srcElement.tagName=="INPUT")
{
Obj_=event.srcElement;
getNextElement(event.srcElement);
}
}
function getNextElement(srcObj)
{
var i=0;
while(srcObj.tagName!="TABLE")
{
srcObj=srcObj.parentNode;
i++;
if(i>20) break;
}
// if(srcObj.nextSibling==null)
{
selectParentNode(srcObj);
return;
}
if(srcObj.nextSibling.tagName=="DIV")
{
var targetObj=srcObj.nextSibling;
selectThem(targetObj);
}
// else if(srcObj.nextSibling.tagName=="TABLE")
// {
// //
// }
selectParentNode(srcObj);
}
function selectThem(targetObj_)
{
var ChexBox_Obj=targetObj_.getElementsByTagName_r("INPUT");
for(var i=0;i<ChexBox_Obj.length;i++)
{
ChexBox_Obj[i].checked=Obj_.checked;
}
}
function selectParentNode(obj)
{
while(obj.parentNode.previousSibling.tagName=="TABLE")
{
//
var parentObj=obj.parentNode;
var ChexBox_brother=parentObj.getElementsByTagName_r("INPUT");
var counter_=0;
for(var i=0;i<ChexBox_brother.length;i++)
{
if(ChexBox_brother[i].checked) counter_++;
}
//
var parentNContiner=obj.parentNode.previousSibling;
var CheckB=parentNContiner.getElementsByTagName_r("INPUT");
CheckB[0].checked=counter_>0?true:false;
obj=parentNContiner;
}
}
</script>
展开、合并JS,网上代码修改
<script language="javascript" type="text/javascript">
function TreeView_ToggleNode(data, index, node, lineType, children) {
var img = node.childNodes[0];
var newExpandState;
try {
if (children.style.display == "none") {
children.style.display = "block";
newExpandState = "e";
img.src = "../../images/parts/tree_folder3.gif";
}
else {
children.style.display = "none";
newExpandState = "c";
img.src = "../../images/parts/tree_folder4.gif";
}
}
catch(e) {}
}
</script>
页面代码:
<asp:TreeView ID="TreeView_1" ShowCheckBoxes="all" runat="server" ShowExpandCollapse="true" CollapseImageUrl="~/images/parts/tree_folder3.gif" ExpandImageUrl="~/images/parts/tree_folder4.gif" NoExpandImageUrl="~/images/parts/tree_folder3.gif"></asp:TreeView>
带CheckBox的TreeView网上出错问题解决办法的更多相关文章
- Qt5构建出错问题解决办法
我之前用的Qt其他版本,因为一些原因我更换了Qt版本,从Qt5.9.1又更换到之前用的Qt5.3.2,但是发现无法build,问题提示如下: 19:54:03: 为项目untitled执行步骤 ... ...
- 关于搭建php电商环境时缺少fileinfo、数据库安装出错问题解决办法
今天以WSTMart电商系统为例讲解 搭建php电商环境缺少fileinfo.数据库安装出错问题找了很多方法都没能很好解决,该方法简单明了,容易操作 首先需要到开源中国中下载该系统源码,网址为:htt ...
- 在 Sublime Text 2 中编译和运行 Java 程序,以及输出中文出错问题解决办法
Sublime Text 2 是我最喜欢用来编码的文本编辑器,如果你尝试使用后相信你也会喜欢上它的.在这篇文章中我们将讨论如何在 Sublime Text 2 中编译和运行 Java 程序. 第一步: ...
- WPF 带CheckBox、图标的TreeView
WPF 带CheckBox.图标的TreeView 在WPF实际项目开发的时候,经常会用到带CheckBox的TreeView,虽然微软在WPF的TreeView中没有提供该功能,但是微软在WPF中提 ...
- WPF 带CheckBox、图标的TreeView(转)
在WPF实际项目开发的时候,经常会用到带CheckBox的TreeView,虽然微软在WPF的TreeView中没有提供该功能,但是微软在WPF中提供强大的ItemTemplate模板功能和自定义样式 ...
- Silverlight TreeView 带 checkbox和图片
前段时间做Silverlight TreeView 控件,但是要带checkbox和图片,在网上到处找相关的例子,效果图如下 xaml代码 <UserControl x:Class=" ...
- Gitbook 生成 pdf 中文字体错乱问题解决办法
Gitbook 生成 pdf 中文字体错乱问题解决办法 用过 Gitbook 的都知道, Gitbook 会自动生成 pdf 以提供下载, 但十分遗憾的是自动生成的 pdf 对中文的支持并不好, ...
- ASP+Access UTF-8 网页乱码问题解决办法
用ACCESS数据库和ASP做网站时用UTF-8编码有时会出现乱码,再者网页出错或者刷新页面后就是乱码,如果数据库取值乱码在开头加上<%@LANGUAGE="VBSCRIPT" ...
- C盘不能新建文件的问题解决办法
C盘不能新建文件的问题解决办法 主要症状: 1.C 盘文件不能修改2.C 盘不能新建文件3.总之就是只能读取不能,写入和修改这样对于平时操作造成了极其的不方便~~~复制文件到C 盘会提示:错误0×80 ...
随机推荐
- (转)WCF中调用WebService出错,大家帮忙看看,回答就有分
http://bbs.csdn.net/topics/390542345 在WCF项目里面添加了一个WebService引用,然后在我们调用这个WCF服务时,老出错,提示在 ServiceModel ...
- OkHttp 上手
OkHttp 上手 优点 快.节省带宽. 支持 HTTP/2 和 SPDY. HTTP/2 和 SPDY 允许对同一个主机的所有请求,使用一个 socket. 如果不支持 SPDY 的话,可以用连接池 ...
- 搭建hbase-0.94.26集群环境
先安装hadoop1.2.1,见http://blog.csdn.net/jediael_lu/article/details/38926477 1.配置hbase-site.xml <prop ...
- 35个jQuery小技巧(转)
1. 禁止右键点击$(document).ready(function(){ $(document).bind("contextmenu",function(e){ ...
- python学习(二)
这几天脑子里一直在想一个应用,想以此来练习python.用一句话来概括这个应用的功能,大致表述是这样:自动采集全省各类公共文化机构网站上新发布的信息,并分类呈现.各类公共文化机构,是指公共图书馆.文化 ...
- Windows10 Ubuntu子系统折腾
UPDATE:(参考文章) 快速解决方案 使用cmder,设置startup参数为: %windir%\system32\bash.exe ~ 这样打开cmder就是默认进入bash了. ------ ...
- 数组对象-new Array
声明空数组 var arr = new Array(); 声明指定长度的数组 var arr = new Array(5) 声明初始值的数组 var a ...
- KEILC51可重入函数及模拟栈浅析
MARK:文章中的红色部分是个人的理解. KEILC51可重入函数及模拟栈浅析 关键字:keilc51,模拟堆栈,可重入函数调用,参数传递,C?XBP,C?ADDXBP 摘要:本文较详细的介绍了kei ...
- 使用ownCloud搭建你的个人云服务(ubuntu 14.04 server)(ownCloud对文件不切片,Seafile对文件切片),owncloud没有存储的功能 只能同步 本地删除了服务器也会删除
ownCloud是什么 ownCloud是一个自由且开源的个人云存储解决方案(类似百度网盘或者Dropbox),包括两个部分:服务器和客户端. ownCloud在客户端可通过网页界面,或者安装专用的客 ...
- rsync实现文件备份同步(比如服务器镜像)
[rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync] 一.什么是rsync rsync,remote synchronize顾 ...