📄 reportconfigaction.java
字号:
sb
.append("<textField isStretchWithOverflow=\"false\" pattern=\"\" isBlankWhenNull=\"false\" evaluationTime=\"Now\" hyperlinkType=\"None\" hyperlinkTarget=\"Self\" >");
sb
.append("<reportElement x=\"102\" y=\"2\" width=\"106\" height=\"23\" forecolor=\"#ff0000\" key=\"textField\"/> ");
sb
.append("<box topBorder=\"None\" topBorderColor=\"#000000\" leftBorder=\"None\" leftBorderColor=\"#000000\" rightBorder=\"None\" rightBorderColor=\"#000000\" bottomBorder=\"None\" bottomBorderColor=\"#000000\"/>");
sb.append("<textElement textAlignment=\"Left\">");
sb.append("<font size=\"12\"/>");
sb.append("</textElement>");
sb
.append(
"<textFieldExpression class=\"java.lang.String\"><![CDATA[$F{")
.append(sortField).append("}]]></textFieldExpression>");
sb.append("</textField>");
sb.append("</band>");
sb.append("</groupHeader>");
sb.append("<groupFooter>");
sb.append("<band height=\"30\">");
sb.append("<line>");
sb.append("<reportElement x=\"0\" y=\"0\" width=\"").append(pageWidth)
.append("\" height=\"1\" forecolor=\"#ff0000\"/>");
sb.append("<graphicElement/>");
sb.append("</line>");
for (Iterator iter = coll.iterator(); iter.hasNext();) {
TableColumn em = (TableColumn) iter.next();
if (!em.isSort()) {
sb.append("<staticText>");
sb.append("<reportElement x=\"").append(pageWidth - 200)
.append("\" y=\"4\" width=\"150\" height=\"15\"/>");
sb.append("<textElement textAlignment=\"Right\"/>");
sb.append("<text>");
sb.append("<![CDATA[").append(
em.getName() + "--" + em.getCalculateMode() + ":")
.append("]]>");
sb.append("</text>");
sb.append("</staticText>");
sb.append("<textField pattern=\"###0.00\">");
sb.append("<reportElement x=\"").append(pageWidth - 50).append(
"\" y=\"4\" width=\"50\" height=\"15\"/>");
sb.append("<textElement textAlignment=\"Left\"/>");
sb.append("<textFieldExpression class=\"java.lang.Double\">");
sb.append("$V{").append(em.getType() + "_" + em.getName())
.append("}"); // ****
sb.append("</textFieldExpression>");
sb.append("</textField>");
pageWidth = pageWidth - 200;
}
}
sb.append("</band>");
sb.append("</groupFooter>");
sb.append("</group>");
sb.append("\n");
return sb.toString();
}
public String creatColumnHeader(Map detial) {
if (detial == null || detial.size() == 0)
return "";
int totalWidth = 0;
for (Iterator iter = detial.keySet().iterator(); iter.hasNext();) {
TableColumn em = (TableColumn) iter.next();
if (em.getWidth() != null && em.getWidth().length() > 0)
totalWidth += Integer.parseInt(em.getWidth());
else
totalWidth += 50;
}
StringBuffer sb = new StringBuffer();
sb.append("<columnHeader>");
sb.append("<band height=\"20\">");
sb.append("<rectangle>");
sb.append("<reportElement x=\"0\" y=\"0\" width=\"").append(totalWidth)
.append("\" height=\"10\" backcolor=\"#333111\"/>");
sb.append("<graphicElement/>");
sb.append("</rectangle>");
int excursion = 0;
for (Iterator iter = detial.keySet().iterator(); iter.hasNext();) {
TableColumn em = (TableColumn) iter.next();
int width = 50;
if (em.getWidth() != null && em.getWidth().length() > 0)
width = Integer.parseInt(em.getWidth());
sb.append("<staticText>");
sb
.append("<reportElement mode=\"Opaque\" x=\"")
.append(excursion)
.append("\" y=\"0\" width=\"")
.append(width)
.append(
"\" height=\"15\" backcolor=\"lightGray\" style=\"Arial_Bold\"/>");
// sb.append("<textElement
// textAlignment=\"Center\"><font/></textElement>");
sb.append("<text><![CDATA[").append(em.getName()).append(
"]]></text>");
sb.append("</staticText>");
sb.append("\n");
excursion += width;
}
sb.append("</band>");
sb.append("</columnHeader>");
return sb.toString();
}
public String creatColumnFooter() {
StringBuffer sb = new StringBuffer();
sb.append("<columnFooter>");
sb.append("<band height=\"11\">");
sb.append("</band>");
sb.append("</columnFooter>");
return sb.toString();
}
public String creatDetial(Map detial) {
if (detial == null || detial.size() == 0)
return "";
StringBuffer sb = new StringBuffer();
sb.append("<detail>");
sb.append("<band height=\"30\">");
int i = 0;
int excursion = 0;
for (Iterator iter = detial.keySet().iterator(); iter.hasNext();) {
TableColumn em = (TableColumn) iter.next();
String dataType = (String) detial.get(em);
int width = 50; // 默认宽度大小
if (em.getWidth() != null && em.getWidth().length() > 0)
width = Integer.parseInt(em.getWidth());
sb.append("<textField isBlankWhenNull=\"true\">");
sb.append("<reportElement x=\"").append(excursion).append(
"\" y=\"4\" width=\"").append(width).append(
"\" height=\"15\" style=\"Arial_Normal\"/>");
// sb.append("<textElement textAlignment=\"Right\"/>");
sb.append("<textFieldExpression class=\"").append(dataType).append(
"\">");
sb.append("$F{").append(em.getName()).append("}");// ///////
sb.append("</textFieldExpression>");
sb.append("</textField>");
sb.append("\n");
excursion += width;
i++;
}
sb.append("</band>");
sb.append("</detail>");
sb.append("\n");
return sb.toString();
}
public String creatSummary(DataPackage data, int pageWidth) {
if (data == null || data.datas == null || data.datas.size() == 0)
return "";
StringBuffer sb = new StringBuffer();
sb.append("<summary>");
sb.append("<band height=\"60\">");
sb.append("<line>");
sb.append("<reportElement x=\"0\" y=\"0\" width=\"").append(pageWidth)
.append("\" height=\"1\" forecolor=\"#faacf\"/>");
sb.append("<graphicElement/>");
sb.append("</line>");
sb.append("<staticText>");
sb.append("<reportElement x=\"").append(0).append(
"\" y=\"4\" width=\"150\" height=\"15\"/>");
sb.append("<textElement textAlignment=\"Right\"/>");
sb.append("<text>");
sb.append("<![CDATA[Summary:]]>");
sb.append("</text>");
sb.append("</staticText>");
for (Iterator iter = data.datas.iterator(); iter.hasNext();) {
TableColumn em = (TableColumn) iter.next();
if (!em.isSort()) {
sb.append("<staticText>");
sb.append("<reportElement x=\"").append(pageWidth - 200)
.append("\" y=\"4\" width=\"150\" height=\"15\"/>");
sb.append("<textElement textAlignment=\"Right\"/>");
sb.append("<text>");
sb.append("<![CDATA[").append(
em.getName() + "--" + em.getCalculateMode() + ":")
.append("]]>");
sb.append("</text>");
sb.append("</staticText>");
sb.append("<textField pattern=\"###0.00\">");
sb.append("<reportElement x=\"").append(pageWidth - 50).append(
"\" y=\"4\" width=\"50\" height=\"15\"/>");
sb.append("<textElement textAlignment=\"Left\"/>");
sb.append("<textFieldExpression class=\"java.lang.Double\">");
sb.append("$V{").append(em.getType() + "_" + em.getName())
.append("}"); // ****
sb.append("</textFieldExpression>");
sb.append("</textField>");
pageWidth = pageWidth - 200;
}
}
sb.append("</band>");
sb.append("</summary>");
sb.append("\n");
return sb.toString();
}
public String creatPageHeader() {
StringBuffer sb = new StringBuffer();
sb.append("<pageHeader>");
sb.append("<band height=\"20\">");
sb.append("</band>");
sb.append("</pageHeader>");
sb.append("\n");
return sb.toString();
}
public String creatPageFooter() {
StringBuffer sb = new StringBuffer();
sb.append("<pageFooter>");
sb.append("<band height=\"20\">");
sb.append("</band>");
sb.append("</pageFooter>");
sb.append("\n");
return sb.toString();
}
public String creatTitel(String title) {
StringBuffer sb = new StringBuffer();
sb.append("<title>");
sb.append("<band height=\"30\">");
sb.append("<staticText>");
sb
.append("<reportElement x=\"0\" y=\"0\" width=\"700\" height=\"30\"/>");
// sb.append("<textElement textAlignment=\"Center\"/>");
// sb.append("<text>");
sb.append("<textElement textAlignment=\"Center\">");
sb.append("<font size=\"18\"/>");
sb.append("</textElement>");
sb.append("<text>");
sb.append("<![CDATA[").append(title).append("]]>");
sb.append("</text>");
sb.append("</staticText>");
sb.append("</band>");
sb.append("</title>");
sb.append("\n");
return sb.toString();
}
public String QueryStringAppendOrderBy(DataPackage group1,
DataPackage group2, DataPackage group3, DataPackage group4) {
String orderby = "";
if (group1 != null && group1.datas != null && group1.datas.size() > 0) {
for (Iterator iter = group1.datas.iterator(); iter.hasNext();) {
TableColumn em = (TableColumn) iter.next();
if (em.isSort())
orderby += em.getName() + ",";
}
}
if (group2 != null && group2.datas != null && group2.datas.size() > 0) {
for (Iterator iter = group1.datas.iterator(); iter.hasNext();) {
TableColumn em = (TableColumn) iter.next();
if (em.isSort())
orderby += em.getName() + ",";
}
}
if (group3 != null && group3.datas != null && group3.datas.size() > 0) {
for (Iterator iter = group1.datas.iterator(); iter.hasNext();) {
TableColumn em = (TableColumn) iter.next();
if (em.isSort())
orderby += em.getName() + ",";
}
}
if (group4 != null && group4.datas != null && group4.datas.size() > 0) {
for (Iterator iter = group1.datas.iterator(); iter.hasNext();) {
TableColumn em = (TableColumn) iter.next();
if (em.isSort())
orderby += em.getName();
}
}
if (orderby.trim().length() > 0
&& orderby.substring(orderby.length() - 1, orderby.length())
.endsWith(","))
orderby = orderby.substring(0, orderby.length() - 1);
return orderby.trim().length() > 0 ? " order by " + orderby : "";
}
public String creatQueryString(String queryString) {
StringBuffer sb = new StringBuffer();
sb.append("<queryString><![CDATA[").append(queryString).append(
"]]></queryString>");
sb.append("\n");
return sb.toString();
}
public Map get_tableColumnFromDateBase(String sql, DataSource dts)
throws Exception { // 根椐sql取得结果集中各项数据的类型
if (sql == null || sql.length() == 0)
return null;
Map map = new HashMap();
Connection conn = null;
Statement stmt = null;
try {
DriverManager.registerDriver((Driver) Class.forName(
dts.getDriverClass()).newInstance());
conn = DriverManager.getConnection(dts.getUrl(), dts.getUsername(),
dts.getPassword());
String tmpsql = "select * from (" + sql + ") where 1<>1";
PreparedStatement ps = conn.prepareStatement(tmpsql);
ResultSet tmprs = ps.executeQuery();
ResultSetMetaData dma = tmprs.getMetaData();
for (int i = 1; i <= dma.getColumnCount(); i++) {
String columnName = dma.getColumnName(i);
String dataType = dma.getColumnTypeName(i);
if (dataType.equals("NUMBER"))
map.put(columnName, DATA_TYPE_DOUBLE);
else if (dataType.equals("VARCHAR2")
|| dataType.equals("VARCHAR"))
map.put(columnName, DATA_TYPE_STRING);
else
map.put(columnName, DATA_TYPE_STRING); // *********
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null && !conn.isClosed()) {
conn.close();
conn = null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -