Java 如何开始使用动态Jasper
我在开始使用dynamic jasper时遇到了一个问题。我有一个控制器类,它有一个表,并希望使用DynamicJasper将该表转换为快速报告,以便在给定当前内容的情况下将其打印出来。有人知道如何使用动态Jasper吗?我读了文档,但不太明白。我在Java 如何开始使用动态Jasper,java,jasper-reports,dynamic-jasper,Java,Jasper Reports,Dynamic Jasper,我在开始使用dynamic jasper时遇到了一个问题。我有一个控制器类,它有一个表,并希望使用DynamicJasper将该表转换为快速报告,以便在给定当前内容的情况下将其打印出来。有人知道如何使用动态Jasper吗?我读了文档,但不太明白。我在printAction函数中包含了我的jasper代码,这样一旦按下,它就可以打印出表中的内容。但是,我不明白在给定类的情况下,从哪里可以获得“分支”和String.class.getName()?我必须先用jasper创建一个jrxml文件吗?我如
printAction
函数中包含了我的jasper代码,这样一旦按下,它就可以打印出表中的内容。但是,我不明白在给定类的情况下,从哪里可以获得“分支”
和String.class.getName()
?我必须先用jasper创建一个jrxml文件吗?我如何基本上实现代码,使其工作?printAction
中的代码是在其网站()上找到的示例代码。希望有人知道怎么用这个。多谢各位
我的控制器类:
public class ProfileController implements Initializable {
@FXML
private JFXTextField name, age;
@FXML
private TableView<Profile> table;
@FXML
private TableColumn<Profile, String> nameColumn;
@FXML
private TableColumn<Profile, String> ageColumn;
ProfileDAO profileDAO = new ProfileDAO();
@Override
public void initialize(URL url, ResourceBundle rb) {
//prepare cells
nameColumn.setCellValueFactory(cellData -> cellData.getValue().profileNameProperty());
ageColumn.setCellValueFactory(cellData -> cellData.getValue().profileAgeProperty());
try() {
table.setItems(profileDAO.search())
}catch(){
}
}
@FXML
private void printAAction() {
FastReportBuilder drb = new FastReportBuilder();
DynamicReport dr = drb.addColumn("State", "state", String.class.getName(),30)
.addColumn("Branch", "branch", String.class.getName(),30)
.addColumn("Product Line", "productLine", String.class.getName(),50)
.addColumn("Item", "item", String.class.getName(),50)
.addColumn("Item Code", "id", Long.class.getName(),30,true)
.addColumn("Quantity", "quantity", Long.class.getName(),60,true)
.addColumn("Amount", "amount", Float.class.getName(),70,true)
.addGroups(2)
.setTitle("November 2006 sales report")
.setSubtitle("This report was generated at " + new Date())
.setPrintBackgroundOnOddRows(true)
.setUseFullPageWidth(true)
.build();
JRDataSource ds = new JRBeanCollectionDataSource(TestRepositoryProducts.getDummyCollection());
JasperPrint jp = DynamicJasperHelper.generateJasperPrint(dr, new ClassicLayoutManager(), ds);
JasperViewer.viewReport(jp); //finally display the report report
}
}
轮廓刀
ublic class ProfileDAO {
public ObservableList<Profile> search() throws SQLException,ClassNotFoundException {
//declare PreparedStatement & ResultSet
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
//Declare a SELECT statement
String selectQuery = "SELECT * FROM profiles";
//Execute SELECT statement
try {
//initializing PreparedStatement
preparedStatement = connection.prepareStatement(selectQuery);
//initializing ResultSet via SqliteConnection method
resultSet = preparedStatement.executeQuery();
ObservableList<Profile> profileList = getProfileList(resultSet);
//Return Profile object
return titlesList;
} catch (SQLException e) {
System.out.println("error " + e);
//Return exception
throw e;
}
finally {
if(preparedStatement != null)
{
preparedStatement.close();
}
if(resultSet != null)
{
resultSet.close();
}
}
}
private static ObservableList<Profile> getProfileList(ResultSet resultSet) throws SQLException, ClassNotFoundException {
//Declare a observable List
ObservableList<Profile> profileList = FXCollections.observableArrayList();
while (resultSet.next()) {
Profile profile = new Profile();
profile.setProfileName(resultSet.getInt("name"));
profile.setProfileAge(resultSet.getString("age"));
//Add to ObservableList
profileList.add(profile);
}
//return empList (ObservableList of Employees)
return titlesList;
}
}
public类ProfileDAO{
public observeList search()抛出SQLException,ClassNotFoundException{
//声明PreparedStatement和ResultSet
PreparedStatement PreparedStatement=null;
ResultSet ResultSet=null;
//声明SELECT语句
String selectQuery=“从配置文件中选择*”;
//执行SELECT语句
试一试{
//初始化预处理语句
preparedStatement=connection.prepareStatement(选择查询);
//通过SqliteConnection方法初始化ResultSet
resultSet=preparedStatement.executeQuery();
ObservableList profileList=getProfileList(resultSet);
//返回配置文件对象
返回标题列表;
}捕获(SQLE异常){
系统输出打印项次(“错误”+e);
//返回异常
投掷e;
}
最后{
if(preparedStatement!=null)
{
preparedStatement.close();
}
if(resultSet!=null)
{
resultSet.close();
}
}
}
私有静态ObservableList getProfileList(ResultSet ResultSet)抛出SQLException、ClassNotFoundException{
//声明一个可观察的列表
ObservableList profileList=FXCollections.observableArrayList();
while(resultSet.next()){
配置文件=新配置文件();
setProfileName(resultSet.getInt(“name”);
setProfileAge(resultSet.getString(“年龄”);
//添加到可观察列表
profileList.add(profile);
}
//返回员工列表(员工观察列表)
返回标题列表;
}
}
它不是重复的。任何想知道如何开始使用DynamicAsper的人,请查看此线程的答案()。我终于解决了。祝大家好运。@Alex K:请将它作为副本删除,因为它不是副本。它询问的是实现和您提供的链接中未提供的示例。谢谢,祝您度过愉快的一天。在修改最后一个问题之前,您询问了noclassdeffounderror。好的,但是你的问题(你的帖子里有很多问题)太宽泛了。嗯,这并不是一个真正的问题看起来最好删除这篇文章,因为你创建了另一篇文章并解决了这篇文章中描述的问题
ublic class ProfileDAO {
public ObservableList<Profile> search() throws SQLException,ClassNotFoundException {
//declare PreparedStatement & ResultSet
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
//Declare a SELECT statement
String selectQuery = "SELECT * FROM profiles";
//Execute SELECT statement
try {
//initializing PreparedStatement
preparedStatement = connection.prepareStatement(selectQuery);
//initializing ResultSet via SqliteConnection method
resultSet = preparedStatement.executeQuery();
ObservableList<Profile> profileList = getProfileList(resultSet);
//Return Profile object
return titlesList;
} catch (SQLException e) {
System.out.println("error " + e);
//Return exception
throw e;
}
finally {
if(preparedStatement != null)
{
preparedStatement.close();
}
if(resultSet != null)
{
resultSet.close();
}
}
}
private static ObservableList<Profile> getProfileList(ResultSet resultSet) throws SQLException, ClassNotFoundException {
//Declare a observable List
ObservableList<Profile> profileList = FXCollections.observableArrayList();
while (resultSet.next()) {
Profile profile = new Profile();
profile.setProfileName(resultSet.getInt("name"));
profile.setProfileAge(resultSet.getString("age"));
//Add to ObservableList
profileList.add(profile);
}
//return empList (ObservableList of Employees)
return titlesList;
}
}