EclipseBIRT中的数据未到达数据集
!![在此处输入图像描述][2]我正在使用EclipseBirt报告一个应用程序,该应用程序是由ApacheOfBiz构建的。我想以表格格式报告一些信息,并希望以pdf格式获得输出,这就是我的目的。我正在发布一个从源代码获取数据的类EclipseBIRT中的数据未到达数据集,eclipse,birt,Eclipse,Birt,!![在此处输入图像描述][2]我正在使用EclipseBirt报告一个应用程序,该应用程序是由ApacheOfBiz构建的。我想以表格格式报告一些信息,并希望以pdf格式获得输出,这就是我的目的。我正在发布一个从源代码获取数据的类 public static void getReport(HttpServletRequest request, HttpServletResponse response){ Delegator delegator = (Delegator) reques
public static void getReport(HttpServletRequest request, HttpServletResponse response){
Delegator delegator = (Delegator) request.getAttribute("delegator");
String reportType = request.getParameter("reportType");
String compId = request.getParameter("companyId");
List empTaskLists = FastList.newInstance();
//check employee position
try {
//use Company Id from global context
List<GenericValue> partyList = EntityUtil.filterByDate(delegator.findByAnd("PartyRelationshipAndDetail", UtilMisc.toMap("partyIdFrom", compId)));
//child
for( GenericValue party : partyList) {
GenericValue partyInfo=delegator.findByPrimaryKey("PartyAndPerson", UtilMisc.toMap("partyId", party.get("PartyId")) );
String partyName = partyInfo.get("firstName") +" "+partyInfo.get("lastName");
List<GenericValue> taskList = delegator.findList("WorkEffortAndPartyAssign", EntityCondition.makeCondition(UtilMisc.toMap("partyId", party.get("partyId"), "currentStatusId", "PTS_CREATED" , "statusId", "PAS_ASSIGNED")), null, null, null, false);
for( GenericValue task : taskList) {
Map taskMap = FastMap.newInstance();
String taskName=task.getString("workEffortName");
taskMap.put("empId", party.get("partyId"));
taskMap.put("empName", partyName);
taskMap.put("taskName", taskName);
taskMap.put("start", task.get("estimatedStartDate"));
taskMap.put("end", task.get("estimatedCompletionDate"));
empTaskLists.add(taskMap);
}
}
} catch (Exception e) {
e.printStackTrace();
}
获取脚本
if (countOfRow < emptaskList.size()-1) {
var emptaskMap =emptaskList.get(countOfRow);
row["employeeId"] = emptaskMap.get("employeeId");
row["employeeName"] = emptaskMap.get("employeeName");
row["taskName"] =emptaskMap.get("taskName");
row["startDate"] = emptaskMap.get("startDate");
row["endDate"] = emptaskMap.get("endDate");
countOfRow++;
return true;
}
return false;
if(countOfRow
我已经做了这些来获得数据。这足够吗???。我还有一个数据集,我在图片中附上了。我需要数据集填充数据我真的很难理解这个问题。您能否准确地提供您已经完成的步骤(项目符号)?您想知道BIRT report是否可以在调用报表时使用您动态提供的数据,而不仅仅是直接从数据库?这是可以做到的,但请确认这是你想问的。好的,我张贴我已经这样做了far@Miki请看一下我编辑的帖子,现在我看到您的报告中没有任何oda数据集标记。若并没有数据源,为什么要使用表?或者您想要简单数据的某种表示形式,或者您想要需要表格和数据集的表格数据。在两者之间选择。
if (countOfRow < emptaskList.size()-1) {
var emptaskMap =emptaskList.get(countOfRow);
row["employeeId"] = emptaskMap.get("employeeId");
row["employeeName"] = emptaskMap.get("employeeName");
row["taskName"] =emptaskMap.get("taskName");
row["startDate"] = emptaskMap.get("startDate");
row["endDate"] = emptaskMap.get("endDate");
countOfRow++;
return true;
}
return false;