2013-10-07 38 views
0

当我运行此代码时,它会生成PDF,但只显示品牌而不显示成本。现在看来,这只是显示的字符串,而不是整数,浮点数等。如果我是要创建一个表,并使用.addCell(temptr.getFltTyreCost());不但不工作,但我得到一个错误发现addCell将数据从sql数据库显示为PDF时遇到问题

没有合适的方法(浮动)。

代码:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("TyreTread2013DTAPU"); 

EntityManager em = emf.createEntityManager(); 

List<Tyrerange> tr = em.createNamedQuery("Tyrerange.findAll").getResultList(); 
Document document = new Document(); 
PdfWriter.getInstance(document, new FileOutputStream(tireFile)); 
document.open(); 

Image ttlogo = Image.getInstance(ttLogo); 
ttlogo.scaleAbsolute(525, 85); 
document.add(ttlogo); 

document.add(new Paragraph("Inventory Tire Stock on Hand Report", 
     FontFactory.getFont(FontFactory.TIMES_BOLDITALIC, 18, Font.BOLD, BaseColor.RED))); 
document.add(new Paragraph(new Date().toString())); 
document.add(new Paragraph(" ")); 

document.add(new Paragraph("Brand \t\t Cost")); 

for (Tyrerange temptr : tr) { 
    document.add(new Paragraph(temptr.getStrTyreBrand())); 
    document.add(new Paragraph(temptr.getFltTyreCost())); 
} 
+0

在哪里你在共享的代码中有问题?在** temptr.getFltTyreCost()**? – justadeveloper

+0

是的,temptr.getStrTyreBrand()显示pdf中的品牌。但temptr.getFltTyreCost()不。 –

回答

6

我假设你行

document.add(new Paragraph(temptr.getFltTyreCost())); 

你想添加含有由temptr.getFltTyreCost返回浮动的文本表示新的段落。不幸的是带有浮点参数段落构造不解释浮动的东西来显示,但作为龙头:

/** 
* Constructs a <CODE>Paragraph</CODE> with a certain leading. 
* 
* @param leading  the leading 
*/ 
public Paragraph(float leading) 

因此,你首先必须将浮到字符串,如转换:

document.add(new Paragraph(String.valueOf(temptr.getFltTyreCost()))); 
+0

赫赫谢谢,我在看这里之前就已经搞清楚了:)但是它工作正常。再次感谢。 –

+3

@hadsi如果mkl得到了答案,请给予答案的积分。 – hooknc

相关问题