使用卓正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

相關文章
相關標籤/搜索