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

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

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

代码实现:

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代码:spa

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示例:
2、2二、响应数据区域点击事件(专业版、企业版)code

相关文章
相关标签/搜索