溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用PageOffice實現(xiàn)數(shù)據(jù)區(qū)域點擊的示例分析

發(fā)布時間:2022-01-05 19:01:26 來源:億速云 閱讀:185 作者:柒染 欄目:互聯(lián)網(wǎng)科技

這期內容當中小編將會給大家?guī)碛嘘P使用PageOffice實現(xiàn)數(shù)據(jù)區(qū)域點擊的示例分析,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

需求背景: Word文檔指定位置填充的時候有一些特殊的需求需要word文檔指定的位置只能填入某一類型的數(shù)據(jù)或者某幾個數(shù)據(jù).例如:有用戶的需求是在word文件的某一區(qū)域插入一個日期,但是這里必須用到日期控件.為了實現(xiàn)這樣一些特殊的需求,PageOffice開發(fā)出來了數(shù)據(jù)區(qū)域點擊事件,點擊時響應彈出一個模態(tài)或者非模態(tài)對話框,在這個對話框中用戶可以嵌入html頁面,獲取html頁面控件的數(shù)據(jù)來返回到文檔指定的位置.

用戶點擊數(shù)據(jù)區(qū)域觸發(fā)該事件,用一個回調函數(shù)響應該事件彈出一個模態(tài)對話框,讓用戶在對話框中編輯數(shù)據(jù),從而實現(xiàn)禁止用戶直接編輯數(shù)據(jù)區(qū)域內容的效果。

代碼實現(xiàn):

Java代碼:

   PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
   WordDocument doc = new WordDocument();
   DataRegion dataReg = doc.openDataRegion("PO_deptName");
   //核心代碼, 用戶點擊Word文檔中的預定義的數(shù)據(jù)區(qū)域(DataRegion)時觸發(fā)此事件。 
   //如果您需要響應此事件,您需要在當前 JSP 頁面里定義一個 JavaScript 函數(shù)。
   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文檔中的預定義的數(shù)據(jù)區(qū)域(DataRegion)時觸發(fā)此事件。 
    //如果您需要響應此事件,您需要在當前 html 頁面里定義一個 JavaScript 函數(shù)。
    PageOfficeCtrl1.JsFunction_OnWordDataRegionClick = "OnWordDataRegionClick()";
    ……
    PageOfficeCtrl1.SetWriter(doc);
    PageOfficeCtrl1.WebOpen("doc/test.doc", PageOffice.OpenModeType.docSubmitForm, "張三");

客戶端的js回調函數(shù)響應該事件:

function OnWordDataRegionClick(Name, Value, Left, Bottom) {
   if (Name == "PO_deptName") {
      // selectDept.htm為要彈出的顯示部門列表的頁面URL, 
      // ShowHtmlModalDialog 顯示一個HTML內容的模態(tài)對話框.
      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;
      }
   }
}

示例效果截圖:

使用PageOffice實現(xiàn)數(shù)據(jù)區(qū)域點擊的示例分析

上述就是小編為大家分享的使用PageOffice實現(xiàn)數(shù)據(jù)區(qū)域點擊的示例分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI