1.在主表中添加一个文本框字段(长度设长一些)(隐藏掉,展示的时候不用展示),用于存储变更;
2添加JS代码
$(function(){
var rowArr = WfForm.getDetailAllRowIndexStr("detail_1").split(",");//遍历明细行
var mess = '-1';
if(rowArr.length > 0){
for(var i=0; i<rowArr.length; i++){
var rowIndex = rowArr[i];
if(rowIndex != ''){
var thisDataSourceID = WfForm.getFieldValue("field23974_" + rowIndex);//浏览框字段ID
if(thisDataSourceID != ''){
mess = mess + ',' + thisDataSourceID; //遍历明细字段
}
}
}
}
WfForm.changeFieldValue("field24327", {value:mess}); //主表那个存储字段
});
WfForm.bindDetailFieldChangeEvent("field23974",function(id,rowIndex,value){
var rowArr = WfForm.getDetailAllRowIndexStr("detail_1").split(",");
var mess = '-1';
if(rowArr.length > 0){
for(var i=0; i<rowArr.length; i++){
var rowIndex = rowArr[i];
if(rowIndex != ''){
var thisDataSourceID = WfForm.getFieldValue("field23974_" + rowIndex);
if(thisDataSourceID != ''){
mess = mess + ',' + thisDataSourceID;
}
}
}
}
WfForm.changeFieldValue("field24327", {value:mess});
});
3.建模中找到需要更改的浏览框,在无条件查询的SQL中插入条件
where id not in($主表存储字段名称$)
效果 :