使用卓正PageOffice--数据区域点击事件

需求背景: Word文档指定位置填充的时候有一些特殊的需求需要word文档指定的位置只能填入某一类型的数据或者某几个数据.例如:有用户的需求是在word文件的某一区域插入一个日期,但是这里必须用到日期控件.为了实现这样一些特殊的需求,PageOffice开发出来了数据区域点击事件,点击时响应弹出一个模态或者非模态对话框,在这个对话框中用户可以嵌入html页面,获取html页面控件的数据来返回到文档指定的位置.

用户点击数据区域触发该事件,用一个回调函数响应该事件弹出一个模态对话框,让用户在对话框中编辑数据,从而实现禁止用户直接编辑数据区域内容的效果。

代码实现:

Java代码:

   PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
   WordDocument doc = new WordDocument();
   DataRegion dataReg = doc.openDataRegion("PO_deptName");
   //核心代码, 用户点击Word文档中的预定义的数据区域(DataRegion)时触发此事件。 
   //如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
   poCtrl.setJsFunction_OnWordDataRegionClick("OnWordDataRegionClick()");
   ……
   poCtrl.setWriter(doc);
   poCtrl.webOpen("doc/test.doc", OpenModeType.docSubmitForm, "张三");

ASP.NET代码:

    WordDocument doc = new WordDocument();
    DataRegion dataReg = doc.OpenDataRegion("PO_deptName");
    //核心代码, 用户点击Word文档中的预定义的数据区域(DataRegion)时触发此事件。 
    //如果您需要响应此事件,您需要在当前 html 页面里定义一个 JavaScript 函数。
    PageOfficeCtrl1.JsFunction_OnWordDataRegionClick = "OnWordDataRegionClick()";
    ……
    PageOfficeCtrl1.SetWriter(doc);
    PageOfficeCtrl1.WebOpen("doc/test.doc", PageOffice.OpenModeType.docSubmitForm, "张三");

客户端的js回调函数响应该事件:

function OnWordDataRegionClick(Name, Value, Left, Bottom) {
   if (Name == "PO_deptName") {
      // selectDept.htm为要弹出的显示部门列表的页面URL, 
      // ShowHtmlModalDialog 显示一个HTML内容的模态对话框.
      var strRe = document.getElementById("PageOfficeCtrl1").ShowHtmlModalDialog("selectDept.htm", 
        			Value, "left=" + Left + "px;top=" + Bottom 
                    + "px;width=400px;height=300px;frame=no;");
      if (strRet != "") {
           return (strRet);
      }
      else {
           if ((Value == undefined) || (Value == ""))
               return " ";
           else
               return Value;
      }
   }
}

示例效果截图:

10.1

详细请参考PageOffice产品开发包中Samples4示例:
二、22、响应数据区域点击事件(专业版、企业版)

转载于:https://my.oschina.net/u/3850288/blog/2049571

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值