Pageoffice 自定义报告标签(基于Extjs)

本文介绍如何利用PageOffice结合Extjs技术,实现自定义报告标签的功能。通过DataRegionDlg代码示例,展示了Extjs配置过程。
摘要由CSDN通过智能技术生成
    poCtrl.addCustomToolButton("保存至服务器","saveToServer()",11);
    poCtrl.addCustomToolButton("添加填充区","mngBookMark()",11);
    var bookMarks = [];
    function getBookMarks() {
   
        var existBMs = document.getElementById("PageOfficeCtrl1").Document.Bookmarks;
        for (var i = 1; i < existBMs.Count + 1; i++) {
   //下标从1开始
            var bmName = existBMs(i).Name;
            if (bmName.indexOf("PO_")=== 0){
   
                var type = 'text';
                if (bmName.indexOf('PO_G') === 0){
   
                    type = 'img';
                }else if (bmName.indexOf('PO_T') === 0){
   
                    type = 'table';
                }
                existBMs(bmName).Select();
                var showText = document.getElementById("PageOfficeCtrl1").Document.Application.Selection.Range.Text;
                bookMarks.push({
   
                    'id':bmName,
                    'mark_type':type,
                    'mark_name':showText,
                    'comment':''
                });
            }
        }
        return JSON2.stringify(bookMarks);
    }

    function AfterDocumentOpened() {
   
        document.getElementById("Text1").value = document.getElementById("PageOfficeCtrl1").DataRegionList.GetDataRegionByName("PO_Title").Value;
    }
    function saveToServer(){
   
        //上传文件至服务器
        document.getElementById('PageOfficeCtrl1').WebSave();
        // window.external.close();
        document.getElementById("PageOfficeCtrl1").Alert('保存成功');

    }
    function setTitleText() {
   
        document.getElementById("PageOfficeCtrl1").DataRegionList.GetDataRegionByName("PO_Title").Value = document.getElementById("Text1").value;
    }

    function addBookMark(params) {
   
        var flag = "true";
        var pod = document.getElementById("PageOfficeCtrl1").Document;
        var bookMark = JSON2.parse(params);
        var markType = bookMark.mark_type;
        var type = "文本";
        switch (markType) {
   
            case "table":
                type = "表格";
                break;
            case "img":
                type = "图片";
                break;
            default:
        }
        var name = bookMark.mark_name;
        var id = bookMark.id;
        try {
   
            // pageOfficeCtrl.Document.Application.Selection.Tables(1).Select();
            var range = pod.Application.Selection.Range;
            // pod.Application.Selection.Collapse(0);
            pod.Bookmarks.Add(id,  range);
            range.Text = "☆--"+type+":"+name+"--☆";
            // drlist.Add(id,"☆-----------------------这里将插入"+type+":"+name+"---------------------------------------☆");
            bookMarks.push(bookMark);
        }catch (e
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值