填报,excel导入数据,条件属性高亮重复值,没起到效果,是因为还没填进数据库吗

image.png

FineReport 阳娟 发布于 2020-8-21 14:18
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
jongwangLv6中级互助
发布于2020-8-21 15:13(编辑于 2020-8-22 00:40)

是希望填报的时候不要把重复值填进去吗?

要不用填报校验吧


-----------------------

效果如下:

导入高亮测试.gif



demo:

录入模板测试.xlsx

录入模板测试.cpt



改下其中这句:

$('td[id^=A'+c+'-]').css({'background':'yellow'});把里面的改成你需要的列,看能不能迁移使用。


js代码如下:

setTimeout(function() {
	var a = [];
	var a1 = [];
	var a2 = [];
	var a3 = [];
	var a4 = [];

	for (var i = 1; i <= $("tr[tridx]").length - 1; i++) {
		var b = $("tr[tridx=" + i + "]").children().eq(0).html();
		if (b != undefined) {
			a.push(b);
		}
	}
	for (var i = 0; i <= a.length - 1; i++) {
		if (a1.indexOf(a[i]) === -1) {
			a1.push(a[i])
		} else {
			a2.push(i)
			a3.push(a[i])
		}
	}

	for (var i = 0; i < a.length; i++) {
		for (var x in a3) {
			if (a[i] == a3[x]) {
				a4.push(i)
			}
		}
	}


	for (var i = 0; i <= a4.length - 1; i++) {
		var c = a4[i] + 2;
		$('td[id^=A' + c + '-]').css({
			'background': 'yellow'
		}); //设置列标题单元格的背景色
	}



}, 800)


  • 阳娟 阳娟(提问者) 对的,但是填报校验只是提示你有重复值,并不会把重复值高亮找出来
    2020-08-21 15:14 
  • jongwang jongwang 回复 阳娟(提问者) https://help.finereport.com/doc-view-564.html 感觉可以改改这个实例,搞个自定义的,也许是可以实现的
    2020-08-21 15:22 
  • jongwang jongwang 回复 阳娟(提问者) https://help.finereport.com/doc-view-1870.html 好像也可以使用js,加一个导入后的js,然后查找所要列的所有值作为数组,如果值存在重复,将该重复行高亮出来,填报如果不分页的话,理论上是可以实现的,分页的,不确定
    2020-08-21 15:34 
  • 孤陌 孤陌 回复 阳娟(提问者) 有标识的啊
    2020-08-21 15:39 
  • 孤陌 孤陌 回复 阳娟(提问者) 数据校验 有标识的 那些数据是有问题的
    2020-08-21 15:39 
最佳回答
0
晓亮Lv7资深互助
发布于2020-8-21 14:19(编辑于 2020-8-21 14:33)

因为条件属性是加载的时候判断的

你报表加载完了,导入的过程中没有判断条件属性。


  • 3关注人数
  • 528浏览人数
  • 最后回答于:2020-8-22 00:40
    请选择关闭问题的原因
    确定 取消
    返回顶部