JS实现填报时对修改过的单元格进行标识
1. 描述
在填报预览时,对单元格编辑后,其左上角有个红色标记,但非常不明显,用户很难注意到。有没有什么好的办法,对单元格操作后,将其做较明显的特殊标记处理,方便用户识别呢?
如图所示:对单元格进行操作后,将其单元格进行背景色着色、文本加粗等标记。
2. 实现方法
打开模板 %FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\LineForm.cpt
2.1 方法1:编辑结束后修改单元格样式
控件编辑后事件中修改单元格样式,选中需要设置的单元格B3:K3,右击控件设置>事件编辑,添加一个编辑结束事件:
js代码如下:
1. var location = this.options.location;
2. //获取控件的位置
3. var cr = FR.cellStr2ColumnRow(location);
4. //单元格列号
5. var col = cr.col;
6. //单元格行号
7. var ro = cr.row;
8. //设置所在单元格背景色:草绿色
9. $("tr[tridx="+ro+"]").find("td[col="+col+"]").css("background-color","rgb(153,204,0)");
10. //设置所在单元格内容:加粗
11. $("tr[tridx="+ro+"]").find("td[col="+col+"]").css("font-weight","bold");
js代码,可直接使用下面的,更加简单:
1. var $td=$(arguments[0]);
2. //当前编辑单元格
3. $td.css("background-color","rgb(153,204,0)");
4. //设置所在单元格内容:颜色
5. $td.css("font-weight","bold");
6. //设置所在单元格内容:加粗
2.2 方法2 直接修改值改变后的css样式
使用上述方法的话,必须对所有填报控件均要设置一遍编辑结束事件,如果模板中填报控件较多且不是连续的话,设置工作量比较大,效率也比较低,其实在填报中,每个单元格值改变后,都会触发内部的值改变事件,并且会给单元格左上角加上小红色三角,如下图所示
对应的css类为dirty类,只需要修改css中这个dirty类的样式,增加一个背景色或增加加粗样式,在单元格值发生改变后,会自动使用这个dirty,即可完成对所有填报报表中值发生改变的控件均调用这个样式,非常简单适用,方法如下
添加加载结束事件,如下图
代码如下:
1. contentPane.on("cellselect", function (td){
2. $('.dirty').css('background-color',"rgb(153,204,0)");
3. //设置dirty类背景色
4. $('.dirty').css('font-weight',"bold");
5. //设置dirty类字体加粗
6. });
使用这种方法后只需要在填报模板的加载结束事件中写一次代码即可,不需要再在每个控件的编辑结束事件中单独写代码
3. 效果预览
保存模板,点击填报预览,效果如上图。
JS实现填报时对修改过的单元格进行标识的更多相关文章
- easyui datagrid 单元格 编辑时 事件 修改另一单元格
//datagrid 列数据 $('#acc').datagrid({ columns : [ [ { field : 'fee_lend', title : '收费A', width : 100, ...
- js实现点击修改按钮之后单元格变成可编辑状态
主要实现原理: 每一行有一个修改按钮 点击修改之后,获取行对象,通过行对象再获取行中单元格数组.然后把每一个单元格中的innerHTML替换成input输入框,并赋值value=原来单元格中的内容,鼠 ...
- Html Table用JS导出excel格式问题 导出EXCEL后单元格里的000412341234会变成412341234 7-14 会变成 2018-7-14(7月14) 自定义格式 web利用table表格生成excel格式问题 js导出excel增加表头、mso-number-format定义数据格式 数字输出格式转换 mso-number-format:"\@"
Html Table用JS导出excel格式问题 我在网上找的JS把HTML Tabel导出成EXCEL.但是如果Table里的数字内容为0开的的导成Excel后会自动删除0,我想以text的格式写入 ...
- OFFICE 修改记录保存在单元格批注中vba
Dim ydtext As String '原单元格值 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Coun ...
- js动态删除某一行,内容超出单元格后超出的部分用省略号代替
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <s ...
- 整理BOM时写的关于拆分单元格的VB代码
Public Function AddRows(pos As Integer, amount As Integer) Dim rpos As Integer rpos = pos + To amoun ...
- C#修改 Excel指定单元格的值
/// <summary> /// 将指定字符串写入指定单元格中 /// </summary> /// <param name="data">要 ...
- Excel脱拽或者下拉公式时, 保持公式里单元格数字不变
绝对引用 可以选中B1 用F4快捷键自己就给加绝对引用符号了 然后回车 复制或者拖拽
- Easyui的datagrid的行编辑器Editor中添加事件(修改某个单元格带出其他单元格的值)
项目中有个datagrid需要编辑行时,用到Editor的属性,那么如何添加一个事件 问题:同一个编辑行中的某个单元格值改变时,修改其他单元格的值 页面用到的datagrid <table id ...
随机推荐
- 如何解决liunx链接远程数据库10038错误提示
关于在windows下链接liunx系统下远程数据库报错2003--提示10038的解决方案如下: 在liunx系统中安装配置mysql数据库默认是没有对外开启3600端口,如果出现10038: 1, ...
- TCP-IP 端口号
FTP服务器的TCP端口号 21 Telnet服务器的TCP端口号 23 TETP(简单文件传输协议)服务器的UDP端口号 69 任何TCP/IP实现所提供的服务都用1-1023之间的端口号 至 ...
- POJ 1013
#include"string.h"char left[3][7],right[3][7],result[3][5];bool isHeavy(char x ){ int i ...
- Java之IO(八)PipedIutputStream和PipedOutputStream
转载请注明源出处:http://www.cnblogs.com/lighten/p/7056278.html 1.前言 本章介绍Java的IO体系中最后一对字节流--管道流.之前在字节数组流的时候就说 ...
- java泛型---通配符,泛型嵌套
package generic; import java.util.ArrayList; import java.util.List; /** * ? -->通配符,类型不确定,用于声明 变量| ...
- Android 开发工具类 12_PullXmlTools
xml 格式数据 <?xml version="1.0" encoding="UTF-8"?> <user-list> <user ...
- Chapter 3 Phenomenon——8
I turned to sit up, and this time he let me, releasing his hold around my waist and sliding as far f ...
- jQuery Event.which 属性
which属性用于返回触发当前事件时按下的键盘按键或鼠标按钮. 对于键盘和鼠标事件,该属性用于确定你按下的是哪一个键盘按键或鼠标按钮. which属性对DOM原生的event.keyCode和even ...
- struct in_addr 结构体
struct in_addr 结构体: struct in_addr { in_addr_t s_addr; }; 表示一个32位的IPv4地址. in_addr_t一般为32位的unsigned i ...
- C++11中右值引用和移动语义
目录 左值.右值.左值引用.右值引用 右值引用和统一引用 使用右值引用,避免深拷贝,优化程序性能 std::move()移动语义 std::forward()完美转发 容器中的emplace_back ...