@ -48,6 +48,7 @@ import com.fr.js.NameJavaScriptGroup;
import com.fr.main.impl.WorkBook ;
import com.fr.main.parameter.ReportParameterAttr ;
import com.fr.report.cell.CellElement ;
import com.fr.report.cell.Elem ;
import com.fr.report.cell.FloatElement ;
import com.fr.report.cell.TemplateCellElement ;
import com.fr.report.cell.cellattr.core.group.DSColumn ;
@ -701,7 +702,7 @@ public class ReplaceUtils {
// 处理【形态、控件、数据字典】
ans . addAll ( searchPresentAndDictionary ( cell ) ) ;
// 处理【单元格值】
ans . addAll ( searchCell Value ( cell ) ) ;
ans . addAll ( searchElem Value ( cell ) ) ;
// 处理【条件属性】
ans . addAll ( searchCellHighlight ( cell ) ) ;
}
@ -758,7 +759,7 @@ public class ReplaceUtils {
return ans ;
}
private static Set < String > searchCell Value ( Cell Element cell ) {
private static Set < String > searchElem Value ( Elem cell ) {
Set < String > ans = new HashSet < > ( ) ;
Object value = cell . getValue ( ) ;
if ( value instanceof DSColumn ) {
@ -880,7 +881,27 @@ public class ReplaceUtils {
ans . addAll ( searchFormulaInfos ( formulaInfos ) ) ;
// 超链部分
ans . addAll ( searchElementCasJs ( provider ) ) ;
// 悬浮元素
ans . addAll ( searchFloat ( provider ) ) ;
return ans ;
}
private static Set < String > searchFloat ( ElementCase provider ) {
Set < String > ans = new HashSet < > ( ) ;
Iterator flotIt = provider . floatIterator ( ) ;
while ( flotIt . hasNext ( ) ) {
FloatElement flotEl = ( FloatElement ) flotIt . next ( ) ;
// 值
ans . addAll ( searchElemValue ( flotEl ) ) ;
// 超链
ans . addAll ( searchFloatJs ( flotEl ) ) ;
}
return ans ;
}
private static Set < String > searchFloatJs ( FloatElement flotEl ) {
List < JavaScript > javaScripts = new ArrayList < > ( SearchJSUtils . getJSDependenceTables ( flotEl ) ) ;
return new HashSet < > ( searchJs ( javaScripts ) ) ;
}
}