控制行式填报表下拉日历是否可写
来源:互联网 发布:hashcode源码 编辑:程序博客网 时间:2024/06/04 19:10
原始问题:
客户的行式填报报表中有单元格的编辑风格是下拉日历,并且需要控制行式填报表是否可写,在使用js控制单元格是否可写后,新添加行中的下拉日历所在单元格出现不可写的问题。
解决思路:
1. 怀疑是控制可写的javascript不正确,检查jsp,发现javascript是常用的控制下拉日历是否可写的方法;
2. 查看td的outerHTML,发现修改了onclick以后,outerHTML中就没有onclick了,问题定位;
3. 查询资料:当复制的是Element 节点时,它的所有属性都将被复制。但要注意,当前节点上注册的事件监听器函数不会被复制。
所以用js设置的事件是复制不了的,只有想法在添加新行时,对相应的单元格再用js设置事件函数;
4. 测试添加、插入行后可以重新用javascript给td重新设置onclick,因此可以重新封装添加、插入的方法。
解决问题:
1、控制下拉日历是否可写的方法:
客户往往要求能够增加、插入、删除行,润乾报表的行式填报表可以很方便的实现此需求。
行式填报表中常常有单元格的编辑风格是下拉日历,可以使用如下方式控制:
控制单元格不可写,注意,一般单元格控制不可写可写成,cellH10.writable=false;但是当单元格为下拉日历时发现此设置无效,主要是下拉日历是控件形式,所以有问题,要改成:
cellH10.onclick = _hideEditor;
这样就能控制下拉日历单元格不可写。
控制单元格可写,同上,如果使用常规形式:cellH10.writable=true;同样是有问题,如果是下拉日历单元格,要用下述方式:
cellH10.onclick = function anonymous() {//设置下拉日历单元格可写方法
_hideEditor();
_runqianCalendar.dateFormat=’yyyy-MM-dd’; //设置下拉日历取值类型
_runqianCalendar.type= ‘date’; //请注意此处的写法
_showCalendar();
_setRowColBackColor(this) };
这样就可以控制单元格可写,并且是下拉日历形式。
2、重新封装添加、插入的javascript:
function tianjia1(){
_appendRow( report1 );
var D4_val = document.getElementById(“report1_D4″).value;
var D12_val = document.getElementById(“report1_D12″).value;
var tds = report1.currCell.parentNode.getElementsByTagName(‘td’);//获取光标所在行的所有td
var tdsl = tds.length;//看看有多少个td,以便找到有日历的行,有日历的行的td总数为7个
var RL = tds[5];//找到日历所在的td
if((D12_val==1||D4_val==1)&&tdsl==7){
RL.onclick=anonymous;
}
};
function charu1(){
_insertRow( report1 );
var D4_val = document.getElementById(“report1_D4″).value;
var D12_val = document.getElementById(“report1_D12″).value;
var tds = report1.currCell.parentNode.getElementsByTagName(‘td’);
var tdsl = tds.length;
var RL = tds[5];
if((D12_val==1||D4_val==1)&&tdsl==7){
RL.onclick=anonymous;
}
};
使用上述的添加、插入行的javascript即可解决控制行式填报表添加、插入行后下拉日历是否可写问题。
- 控制行式填报表下拉日历是否可写
- 润乾报表行式填报表可写控制
- 博计报表 下拉日历的制作方法
- 润乾报表自定义下拉日历
- 表格、可编辑下拉框、日历控件
- 下拉列表select可写
- 如何在填报表中使用自定义的下拉日历
- 博计报表中使用自定义下拉日历控件
- 判断目录是否可写
- 如何通过复选框的状态控制其他单元格是否可写
- 如何通过复选框的状态控制其他单元格是否可写
- C# 实现键盘控制DateTimePicker日历控件下拉
- 润乾报表下拉日历与下拉数据集的关联过滤
- 可控制导航下拉方向的jQuery下拉菜单代码
- 可控制导航下拉方向的jQuery下拉菜单代码
- 控制cellEditor是否为可编辑
- SAP ABAP控制单元格是否可编辑
- Android自定义ViewPager可控制是否滑动
- 求1000以内的回文数
- 【MySQL】性能优化之 Index Condition Pushdown
- Vue的加载顺序探讨(一)
- CocoaPods报错:The dependency `AFNetworking ` is not used in any concrete target
- Ngrok让你的本地Web应用暴露在公网上
- 控制行式填报表下拉日历是否可写
- 图片的等比例压缩和质量压缩,图片转化成FILE
- 在visio studio中添加项目并查看网页
- 分区表与索引的管理
- Laravel框架5.*自定义常量的方法
- SLAM笔记一——入门介绍
- C内存模型-BSS段、数据段、代码段、堆与栈
- 学历是铜牌,能力是银牌,人脉是金牌,思维是王牌(感触很深)
- 【框架基础】:Java反射机制详解(二)