在我的报告中,数据正被插入我的临时表中。问题是数据没有显示在报告上。我也删除了所有隐藏和可见性表达式。
这是ProjInvoiceReport。我添加了第二个数据集,需要为一个字段插入多个值。数据正在插入到表中,但是当我将字段放在报表上的表格控件(正确的数据集)中时......没有出现任何内容!
在ProjInvoiceDP类中,我添加了一个get方法
[
SRSReportDataSetAttribute(tableStr(ProjInvoiceServiceOrderTmp))
]
public ProjInvoiceServiceOrderTmp getProjInvoiceServiceOrderTmp()
{
select * from projInvoiceServiceOrderTmp;
return projInvoiceServiceOrderTmp;
}
和initTempTable方法
public void initTempTableFromSMAServiceOrder(ProjTable _projTable, ProjInvoiceId
_projInvoiceId)
{
SMAServiceOrderLine serviceOrderLine;
ProjEmplTrans projEmplTrans;
ProjItemTrans projItemTrans;
iProjInvoiceId = _projInvoiceId;
ttsBegin;
delete_from projInvoiceServiceOrderTmp where projInvoiceServiceOrderTmp.ProjInvoiceId ==
iProjInvoiceId;
ttsCommit;
while select serviceOrderLine
join projEmplTrans
where serviceOrderLine.ProjTransId == projEmplTrans.TransId
&& serviceOrderLine.ProjId == _projTable.ProjId
{
if(projEmplTrans.invoiceId() == iProjInvoiceId)
{
projInvoiceServiceOrderTmp.clear();
projInvoiceServiceOrderTmp.ServiceOrderId = serviceOrderLine.ServiceOrderId;
// projInvoiceServiceOrderTmp.ShowFieldTicketInfo = #True;
projInvoiceServiceOrderTmp.ProjInvoiceId = iProjInvoiceId;
projInvoiceServiceOrderTmp.insert();
}
}
while select serviceOrderLine
join projItemTrans
where serviceOrderLine.ProjTransId == projItemTrans.ProjTransId
&& serviceOrderLine.ProjId == _projTable.ProjId
{
if(projItemTrans.invoiceId() == iProjInvoiceId)
{
projInvoiceServiceOrderTmp.clear();
projInvoiceServiceOrderTmp.ServiceOrderId = serviceOrderLine.ServiceOrderId;
// projInvoiceServiceOrderTmp.ShowFieldTicketInfo = #True;
projInvoiceServiceOrderTmp.ProjInvoiceId = iProjInvoiceId;
projInvoiceServiceOrderTmp.insert();
}
}
}
在projInvoiceTmp.insert()之前的最后一个insertIntoProjInvoiceTmp中调用initTempTable方法。之前曾在此报告中工作过的人在同一区域调用了initTempTableFromProjTable。
在fetch方法中调用insertIntoProjInvoiceTmp。 processReport调用fetch方法。
对这个问题有什么想法?
答案 0 :(得分:0)
你是否暂时使表TempDB成功?
您是否正确更改了ProjInvoiceDP
课程,制作了新方法?
[SRSReportDataSetAttribute(tableStr(MyTmp))]
public MyTmp getMyTmp()
{
select myTmp;
return myTmp;
}
答案 1 :(得分:0)