根据条件显示/隐藏明细行
- 1、需求说明
- 2、实现方法
- 3、扩展知识点
- 控制明细数据行的显示及隐藏
- 格式
- 参数说明
- 演示
1、需求说明
-
主表字段“全部显示/隐藏”(下拉框,值:0 全部显示、1 全部隐藏),用来控制所有明细行的显示、隐藏。
-
明细表字段“显示/隐藏”(下拉框,值:0 显示、1 隐藏),用来控制该明细行的显示、隐藏。
-
执行效果
(1)新增两行明细
(2)第二行的“显示/隐藏”选择“隐藏”
(3)主表的“全部显示/隐藏”选择“全部显示”
(4)主表的“全部显示/隐藏”选择“全部隐藏”
2、实现方法
代码块
<script>
var qbxsycField = WfForm.convertFieldNameToId("qbxsyc");
var sfycField = WfForm.convertFieldNameToId("sfyc","detail_1");
jQuery(document).ready(function(){
debugger;
//全部显示/隐藏 控制全部明细表行
WfForm.bindFieldChangeEvent(qbxsycField,function(obj,id,value){
if(value == "1"){
WfForm.controlDetailRowDisplay("detail_1", "all", true);
}else{
WfForm.controlDetailRowDisplay("detail_1", "all", false);
}
});
})
//显示/隐藏,控制一条明细表行
WfForm.bindDetailFieldChangeEvent(sfycField,function(id,rowIndex,value){
if(value == "1"){
WfForm.controlDetailRowDisplay("detail_1", rowIndex.toString(), true);
}else{
WfForm.controlDetailRowDisplay("detail_1", rowIndex.toString(), false);
}
});
</script>
3、扩展知识点
控制明细数据行的显示及隐藏
注:只是界面效果隐藏,序号不会变化,即被隐藏行的前后行序号会断层不连续
格式
controlDetailRowDisplay: function(detailMark, rowIndexMark, needHide)
参数说明
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
detailMark | String | 是 | 明细表标示,明细1就是detail_1,以此递增类推 |
rowIndexMark | String | 是 | 需要选中的行标示,选中全部行:all,选中部分行:”1,2,3” |
needHide | boolean | 是 | 是否隐藏行,true:隐藏,false:显示 |
演示
//明细1行标为3,5的隐藏不显示
WfForm.controlDetailRowDisplay("detail_1", "3,5", true);
//明细1所有行不隐藏都显示
WfForm.controlDetailRowDisplay("detail_1", "all", false);