boa tarde a todos,
fiz um relatorio
e no detail tem alguns campos
os mesmos descritos na classe Detail2 descrita abaixo
porem quando eu executo me da o seguinte erro:
run:
net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : Det_cProd
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:123)
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:96)
at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:100)
at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:922)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:887)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:864)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1435)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:126)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:765)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
at danfe001.Danfe001.Relatorio(Danfe001.java:130)
at danfe001.Danfe001.main(Danfe001.java:27)
Caused by: java.lang.NoSuchMethodException: Unknown property 'Det_cProd' on class 'class danfe001.Details2'
at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1313)
at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:762)
at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:837)
at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:426)
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:111)
... 14 more
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
o trecho da classe que chama o relatorio e o seguinte:
List<Details2> list = new ArrayList<Details2>();
Details2 details;
for (int i=0;i<100;i++) {
details = new Details2();
details.setDet_Aliq_ICMS("18,00");
details.setDet_Aliq_IPI("0,00");
details.setDet_CFOP("5102");
details.setDet_CST("060");
details.setDet_NCM("12345678");
details.setDet_cEAN("12345678901234");
details.setDet_cProd(""+i+1000);
details.setDet_qCom(""+i+5);
details.setDet_uCom("UN");
details.setDet_vBC("100,00");
details.setDet_vDesc("1,00");
details.setDet_vICMS("18,00");
details.setDet_vIPI("5,00");
details.setDet_vProd("105,00");
details.setDet_xProd("Produto de Teste "+i);
list.add(details);
}
JRBeanCollectionDataSource source =
new JRBeanCollectionDataSource(list);
try {
JasperPrint p = JasperFillManager
.fillReport("src/Danfe001/Danf001.jasper", map, source);
JasperViewer.viewReport(p, false);
} catch (Exception e) {
e.printStackTrace();
}
a classe details2 e a seguinte:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package danfe001;
/**
*
* @author Admin
*/
public class Details2 {
private String Det_cProd;
private String Det_cEAN;
private String Det_xProd;
private String Det_NCM;
private String Det_CFOP;
private String Det_uCom;
private String Det_qCom;
private String Det_vUnCom;
private String Det_vProd;
private String Det_CST;
private String Det_vDesc;
private String Det_vBC;
private String Det_vICMS;
private String Det_vIPI;
private String Det_Aliq_IPI;
private String Det_Aliq_ICMS;
public String getDet_cProd() {
return Det_cProd;
}
public void setDet_cProd(String Det_cProd) {
this.Det_cProd = Det_cProd;
}
public String getDet_cEAN() {
return Det_cEAN;
}
public void setDet_cEAN(String Det_cEAN) {
this.Det_cEAN = Det_cEAN;
}
public String getDet_xProd() {
return Det_xProd;
}
public void setDet_xProd(String Det_xProd) {
this.Det_xProd = Det_xProd;
}
public String getDet_NCM() {
return Det_NCM;
}
public void setDet_NCM(String Det_NCM) {
this.Det_NCM = Det_NCM;
}
public String getDet_CFOP() {
return Det_CFOP;
}
public void setDet_CFOP(String Det_CFOP) {
this.Det_CFOP = Det_CFOP;
}
public String getDet_uCom() {
return Det_uCom;
}
public void setDet_uCom(String Det_uCom) {
this.Det_uCom = Det_uCom;
}
public String getDet_qCom() {
return Det_qCom;
}
public void setDet_qCom(String Det_qCom) {
this.Det_qCom = Det_qCom;
}
public String getDet_vUnCom() {
return Det_vUnCom;
}
public void setDet_vUnCom(String Det_vUnCom) {
this.Det_vUnCom = Det_vUnCom;
}
public String getDet_vProd() {
return Det_vProd;
}
public void setDet_vProd(String Det_vProd) {
this.Det_vProd = Det_vProd;
}
public String getDet_CST() {
return Det_CST;
}
public void setDet_CST(String Det_CST) {
this.Det_CST = Det_CST;
}
public String getDet_vDesc() {
return Det_vDesc;
}
public void setDet_vDesc(String Det_vDesc) {
this.Det_vDesc = Det_vDesc;
}
public String getDet_vBC() {
return Det_vBC;
}
public void setDet_vBC(String Det_vBC) {
this.Det_vBC = Det_vBC;
}
public String getDet_vICMS() {
return Det_vICMS;
}
public void setDet_vICMS(String Det_vICMS) {
this.Det_vICMS = Det_vICMS;
}
public String getDet_vIPI() {
return Det_vIPI;
}
public void setDet_vIPI(String Det_vIPI) {
this.Det_vIPI = Det_vIPI;
}
public String getDet_Aliq_IPI() {
return Det_Aliq_IPI;
}
public void setDet_Aliq_IPI(String Det_Aliq_IPI) {
this.Det_Aliq_IPI = Det_Aliq_IPI;
}
public String getDet_Aliq_ICMS() {
return Det_Aliq_ICMS;
}
public void setDet_Aliq_ICMS(String Det_Aliq_ICMS) {
this.Det_Aliq_ICMS = Det_Aliq_ICMS;
}
}
o que pode ser isso se eu tenho o campo Det_cProd na classe details2
obrigado desde ja..
nao sei porque mas tive que mudar o nome do field de "Det_cProd" para "det_cProd" mesmo na classe details o nome do campo ser "Det_cProd"