Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DynamicJasper:基于值的背景色_Java_Jasper Reports_Dynamic Jasper - Fatal编程技术网

Java DynamicJasper:基于值的背景色

Java DynamicJasper:基于值的背景色,java,jasper-reports,dynamic-jasper,Java,Jasper Reports,Dynamic Jasper,是否可以使用DynamicAsper API为每行使用给定颜色设置特定单元格的背景色 如果对象产品具有{id、price、name、color}属性 然后,名称字段的背景色需要更改为颜色字段的值。(JasperReports支持此行为)指南: 在此解决方案中,在创建报告之前,将生成所有可能颜色的列表。, column coloredCell有自己的值,也有颜色值(表示为字段)。 所有颜色都是六边形。 DynamicJasperReport.java public class Dynamic

是否可以使用DynamicAsper API为每行使用给定颜色设置特定单元格的背景色

如果对象产品具有{id、price、name、color}属性
然后,名称字段的背景色需要更改为颜色字段的值。(JasperReports支持此行为)

指南:

在此解决方案中,在创建报告之前,将生成所有可能颜色的列表。, column coloredCell有自己的值,也有颜色值(表示为字段)。 所有颜色都是六边形。 DynamicJasperReport.java

   public class DynamicJasperReport{
     public DynamicJasperReport(List<String> color){
        DynamicReportBuilder drb = new DynamicReportBuilder();
        ArrayList<ConditionalStyle> listCondStyle = StyleUtils.getConditonalStyles(color);
        AbstractColumn col = ColumnBuilder.getNew()
                            .setColumnProperty("colordCell", Object.class.getName())
                            .setTitle("Colored Cell")
                            .addConditionalStyles(listCondStyle)
                            .build();
   //adding the color value
        drb.addField("color", Boolean.class.getName());
    }


   }
StyleUtils.java:

  public abstract class StyleUtils {
   public static Style backgroundColorStyle (String hexColor){
     Style cellBackgroundStyle = new Style();
     cellBackgroundStyle.setTransparency(Transparency.OPAQUE);
     cellBackgroundStyle.setBackgroundColor(Color.decode(hexColor));
     cellBackgroundStyle.setTextColor(Color.BLACK);
     cellBackgroundStyle.setVerticalAlign(VerticalAlign.TOP);
     return cellBackgroundStyle;
    }

   public static ArrayList<ConditionalStyle> getConditonalStyles(List<String> Color) {
    ArrayList<ConditionalStyle> conditionalStyles = new ArrayList<ConditionalStyle>();
    Color.forEach(c-> {
        BackgroundCondition backgroundCondition = new BackgroundCondition("color", c);
        ConditionalStyle cs = new ConditionalStyle(backgroundCondition, StyleUtils.backgroundColorStyle(c));
        conditionalStyles.add(cs);

    });
    return conditionalStyles;
}
  }
公共抽象类StyleUtils{
公共静态样式backgroundColorStyle(字符串hexColor){
Style cellBackgroundStyle=新样式();
cellBackgroundStyle.setTransparency(Transparency.不透明);
cellBackgroundStyle.setBackgroundColor(Color.decode(hexColor));
cellBackgroundStyle.setTextColor(颜色:黑色);
cellBackgroundStyle.setVerticalAlign(VerticalAlign.TOP);
背景风格;
}
公共静态ArrayList GetConditionAnalStyles(列表颜色){
ArrayList conditionalStyles=新的ArrayList();
颜色。forEach(c->{
背景条件背景条件=新的背景条件(“颜色”,c);
ConditionalStyle cs=新的ConditionalStyle(backgroundCondition,StyleUtils.backgroundColorStyle(c));
条件样式。添加(cs);
});
返回条件样式;
}
}
  public abstract class StyleUtils {
   public static Style backgroundColorStyle (String hexColor){
     Style cellBackgroundStyle = new Style();
     cellBackgroundStyle.setTransparency(Transparency.OPAQUE);
     cellBackgroundStyle.setBackgroundColor(Color.decode(hexColor));
     cellBackgroundStyle.setTextColor(Color.BLACK);
     cellBackgroundStyle.setVerticalAlign(VerticalAlign.TOP);
     return cellBackgroundStyle;
    }

   public static ArrayList<ConditionalStyle> getConditonalStyles(List<String> Color) {
    ArrayList<ConditionalStyle> conditionalStyles = new ArrayList<ConditionalStyle>();
    Color.forEach(c-> {
        BackgroundCondition backgroundCondition = new BackgroundCondition("color", c);
        ConditionalStyle cs = new ConditionalStyle(backgroundCondition, StyleUtils.backgroundColorStyle(c));
        conditionalStyles.add(cs);

    });
    return conditionalStyles;
}
  }