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 ...
随机推荐
- POJ 2390
import java.util.*; public class Main { public static void main(String args[]){ double interest; Sca ...
- udgrade rubygems-update
gem install rubygems-update update_rubygems gem update --system gem install rubygems-bundler
- Maven Source Plugin
项目pom文件build下添加配置: 01 <plugin> 02 <groupId>org.apache.maven.plugins</groupId> 03 & ...
- Tornado长轮询和WebSocket
Http协议是一种请求响应式协议, 不允许服务端主动向客户端发送信息. 短轮询是一种简单的实现服务端推送消息的解决方案, 客户端以一定间隔自动向服务端发送刷新请求, 服务端返回要推送的消息作为响应. ...
- js加载事件和js函数定义
一 dom文档树加载完之后执行一个函数 在Dom加载完成后执行函数,下面这三个的作用是一样的,window.onload 是JavaScript的,window.onload是在dom文档树加载完和 ...
- 关于SVN提交注释的问题
如果客户端是TortoiseSVN的话,在客户端要设置的版本库上点右键,选择菜单TortoiseSVN--属性,新建属性,选择属性tsvn:logminsize,设置log的最短长度,然后提交.然后如 ...
- APPCAN的mas服务报错
报错信息 主要是: [meap_im_java]load java warning { [Error: Cannot find module 'java'] code: 'MODULE_NOT_FOU ...
- C#截取字符串(转载)
来源:https://www.cnblogs.com/lykbk/archive/2012/06/28/lyk1232132.html C#截取字符串 一. 1.取字符串的前i个字符 (1)strin ...
- JSTL判断list是否为空
1.先在jsp页面中导入下列类库. <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" ...
- 宜立方商城中,mvn报错'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.springframework:spring-webmvc:jar报错
'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.springframework:s ...