**
5、NC按钮链接至报表带参数
**
package nc.ui.pp.m28.action;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;
import com.ufida.iufo.table.drill.ReportDrillInfo;
import com.ufida.iufo.table.drill.ReportDrillItem;
import com.ufida.report.anareport.base.FreeReportDrillParam;
import com.ufida.report.free.publish.util.FreeReportFuncletUtil;
import com.ufida.report.frquery.base.DValue;
import com.ufida.report.frquery.base.Operator;
import com.ufida.report.frquery.model.FrFilterValue;
import nc.funcnode.ui.FuncletInitData;
import nc.ui.pp.m28.model.PriceAuditManageModel;
import nc.ui.pp.m28.view.PriceAuditBillForm;
import nc.ui.uif2.NCAction;
public class LinkReportAction extends NCAction {
private static final long serialVersionUID = 1L; private PriceAuditManageModel model; private PriceAuditBillForm editor; public LinkReportAction(){ this.setCode("LinkReport"); this.setBtnName("报表链接"); } @Override public void doAction(ActionEvent e) throws Exception { //add by cxx 20180119 获取价格审批单主键 String pk_priceaudit = getEditor().getBillCardPanel().getHeadItem("pk_priceaudit").getValue(); if(null != pk_priceaudit){ //自由报表穿透信息 ReportDrillItem[] drillItems = new ReportDrillItem[1]; drillItems[0] = new ReportDrillItem(); drillItems[0].setConditionType(ReportDrillItem.TYPE_FRQUERYITEM); drillItems[0].setConditionName("pk_priceaudit"); FrFilterValue frFilterValue = new FrFilterValue(); frFilterValue.setCurOper(Operator.IN); List<DValue> dValues = new ArrayList<DValue>(); DValue dValue = new DValue(); dValue.setValue(pk_priceaudit); dValue.setDisValue(pk_priceaudit); dValues.add(dValue); frFilterValue.setValues(dValues); drillItems[0].setValue(frFilterValue); ReportDrillInfo drillRule = new ReportDrillInfo(); drillRule.setDrillItem(drillItems); FreeReportDrillParam drillParam = new FreeReportDrillParam(); drillParam.setDrillRule(drillRule); FuncletInitData initData = new FuncletInitData(); initData.setInitData(drillParam); //funStr(节点编码);initData(初始化参数) FreeReportFuncletUtil.openReportNode("BBH91010", initData); } } public PriceAuditManageModel getModel() { return model; } public void setModel(PriceAuditManageModel model) { this.model = model; } public PriceAuditBillForm getEditor() { return editor; } public void setEditor(PriceAuditBillForm editor) { this.editor = editor; }
}
文章来源: https://blog.csdn.net/wxingcai/article/details/91041287