报表知识库
我要提问

如何通过复选框的状态控制其他单元格是否可写

单元格是否可写是审核填报人是否有权限对报表做出修改的一个重要属性,同时还是衡量报表工具是否功能完善的一个重要指标。润乾报表不仅可以通过传参数的形式判断传入参数,在报表可写属性中根据不同的参数设置了不同的属性实现权限控制,还可以在页面上通过控件的状态判断单元格是否可写。下面就详细介绍一下如何通过复选框的状态控制单元格是否可写。

这个问题的实现思路是通过复选框的ID或NAME等唯一的属性找到复选框,判断其是否被选中,再根据其状态设置单元格是否可写。

第一步:制作一张填报表,如图所示:

 76

将A2单元格设置为html数据类型,内容:=”<input id=testcheck”+row()+” type=’checkbox’   name=’checkbox’  onClick=’test(”+row()+”);’/>”

将B2单元格设置为可写。

第二步:写JS判断A2的状态并设置B2是否可写。

<script language=”javaScript”>

         function test(row){

                   var check = document.getElementById(”testcheck”);

                   var flag= row.toString();

                   var check = document.getElementById(”testcheck”+flag);

                   var b = document.getElementById(”report1_B”+flag);

                   if(check.checked){

                            b.writable = true;

                            //alert(check.value)

                   }else{

                            b.writable = false;

                   }

         }

</script>

第三步:发布报表,预览效果。

 77

上图实现的效果就是选中第复选款,姓氏列可以编辑,否则不可编辑。

这样就实现通过复选框状态控制单元格可写。需要注意的是,这个报表单元格是扩展的,所以要处理一下checkBox的ID和单元格的ID。如果不是扩展单元格直接将这两个写成固定的就可以了。