报表设置超链接和点击事件原创
金蝶云社区-吴锐雄
吴锐雄
9人赞赏了该文章 3,637次浏览 未经作者许可,禁止转载编辑于2021年10月14日 09:19:58

看完文章,请点赞收藏,谢谢您嘞


在报表上添加超链接,并且响应点击事件。

1.打开报表上的字段的“显示为超链”开关

image.png


2.选择根节点,添加报表页面插件

image.png


3.编写插件,添加超链点击事件

package kd.demo.platform.form;

import kd.bos.algo.DataSet;
import kd.bos.algo.Row;
import kd.bos.entity.report.*;
import kd.bos.form.control.events.FilterContainerInitEvent;
import kd.bos.form.events.FilterContainerSearchClickArgs;
import kd.bos.form.events.HyperLinkClickEvent;
import kd.bos.form.events.HyperLinkClickListener;
import kd.bos.form.field.events.BeforeFilterF7SelectEvent;
import kd.bos.report.ReportList;
import kd.bos.report.events.CreateColumnEvent;
import kd.bos.report.events.CreateFilterInfoEvent;
import kd.bos.report.plugin.AbstractReportFormPlugin;
import kd.bos.servicehelper.QueryServiceHelper;

import java.util.*;

public class SimpleReportFormPlugin extends AbstractReportFormPlugin {

    @Override
    public void registerListener(EventObject e) {
        super.registerListener(e);
        ReportList reportList = getControl("reportlistap");
        reportList.addHyperClickListener(new HyperLinkClickListener() {
            @Override
            public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) {

                DataSet cDataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "kdec_fruit_bill",
                        "billno as kdec_billno, kdec_fruit_pro.name as proname, kdec_entryentity.kdec_fruits as kdec_fruits",
                        null, "billno asc");
                Iterator<Row> iterator = cDataSet.iterator();
                int index = 0;
                String billno = "";
                while (iterator.hasNext()) {
                    index++;
                    Row row = iterator.next();
                    if (index == hyperLinkClickEvent.getRowIndex()) {
                        billno = row.getString(hyperLinkClickEvent.getFieldName());
                        break;
                    }
                }

                System.out.println(billno + "HyperLinkClick");

            }
        });
    }
}



4.效果展示

依次点击002、004、009这几个超链,后台也打印了对应的单据编码image.png










图标赞 9
9人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!