使用open-webkit-sharp打開報表頁面,實現js腳本對C 代碼的調用

2020-12-15 CSharp日常

書接上回

由於使用的帆軟設計器的版本較低,所以在對圖表設置了圖標縮放功能後,IE瀏覽器並不支持,所以為了兼容處理,替換為使用webkit的谷歌內核打開帆軟報表。

下載open-webkit-sharp資源,然後將Cores文件夾和References文件夾下的所有文件拷貝到項目所在路徑下,然後把Binary文件夾析的文件全部拷貝到項目所在路徑下(如果使用的是Framework2.0的框架則複製Binary NET2下面的文件)。

當然小編已經把需要的資源整理好,不需要再自己進行拷貝替換了,需要的可以找小編索取哦。

工具/選擇工具箱項/添加控制項OpenWebKitSharp.dll,然後在項目中添加對如下三個文件的引用

準備工作做完之後,開始搞代碼吧。

本次最終要實現的功能是在客戶端打開帆軟報表之後,為帆軟報表添加按鈕調用我們自己的c#方法。

首先通過webkit打開頁面

然後設置允許js調用

注意別忘了添加設置對COM組件的可見

最後在代碼中定義js調用的方法

通過以上幾個步驟之後,#代碼端已準備就緒了,接下來我們來看報表中的js,其實非常簡單。

選中報表中的單元格,然後右鍵進行控制項設置

然後選擇按鈕事件,進行事件編輯

加號選擇點擊事件,當然還有一個初始化後事件,這個就看具體的應用了,在這裡小編選擇按鈕事件,然後將js腳本調用的方法寫在下圖中的中function方法中即可。

至此,達成最終想要的效果:

1)改用谷歌內核,解決圖表縮放在ie上的不兼容,如下圖終於可以來回拉動了。

2)完成js對c#代碼的調用,這樣在打開界面之後點擊紅框內的按鈕就可以調用到具體方法,即如上圖中定義的OpenItemsById方法。

好嘞,下篇文章我們再見……

相關焦點

  • 程式設計師:Java爬蟲使用Selenium+Autoit自動化爬取複雜頁面
    然後打開第二個工具上面截圖中的 SciTE Script Editor來編輯腳本:這個工具很強,有很多用法,想具體學習可以參考:xxx下面是我用的腳本:;該腳本的語法是: ;分號代表注釋;ControlFocus
  • 如何控制報表組點查詢後默認選擇的 tab 頁
    而不同的用戶關注點往往不同,通常會要求報表組打開時默認展示自己關注的 tab 頁,為此報表工具提供了控制報表組的 js 函數: group_selectSheet(),只要在報表組展示的 jsp 頁面中調用這個 js 函數就可以控制報表組打開時默認展示哪個 tab 頁,例如可以下段代碼加入到展示報表組頁面的 js 裡:$(document).ready(function
  • 利用CSS、JavaScript及Ajax實現圖片預加載的三大方法
    只要這些圖片的路徑保持不變,當它們在Web頁面的其他地方被調用時,瀏覽器就會在渲染過程中使用預加載(緩存)的圖片。簡單、高效,不需要任何JavaScript。該方法雖然高效,但仍有改進餘地。使用該法加載的圖片會同頁面的其他內容一起加載,增加了頁面的整體加載時間。為了解決這個問題,我們增加了一些JavaScript代碼,來推遲預加載的時間,直到頁面加載完畢。
  • 深入淺出Rhino:Java與JS互操作
    Rhino 是 JavaScript 的一種基於Java的實現,原先由Mozilla開發,現在被集成進入JDK 6.0。下面這兩行代碼恰好說明了這一點。它首先將原始碼編譯成二進位字節碼(bytecode),然後依賴各種不同平臺上的虛擬機來解釋執行字節碼,從而實現了「一次編譯、到處執行」的跨平臺特性。  JavaScript是一種動態、弱類型、基於原型的客戶端腳本語言。
  • 不下載編譯器,在命令行中執行C sharp代碼
    sharp還是挺火的,在國內基本上沒人用,也有,比如像金蝶的財務軟體有些就是C sharp寫的,如果要是說那種程序在中國最受歡迎,那就是java,但是今天我們不講,今天我給大家講一下如何在命令行中運行c#代碼。
  • 如何通過腳本實現數據動態更新
    在數據填報的場景中,常常會遇到根據條件動態更新數據的需求,例如:在條件 A 下將頁面所有數據插入到資料庫表中,而在條件 B 下則將頁面中做了修改的數據更新到資料庫表中。遇到這種需求,腦海中的第一個想法就是:存儲過程更新、或者 java 代碼更新。不過,這兩種實現方式的工作量和後期維護卻實在讓人頭疼不已。
  • 使用jQuery的ajax技術+JSON數據格式+C#+SQL Server實現數據顯示
    這裡使用jQuery的ajax技術+JSON格式的數據+SQL Server資料庫來實現數據以表格形式顯示的功能。對於ASPX頁面,微軟使用了巧妙的Web方法標註靜態方法可以被遠程的Ajax調用。這裡創建一個普通的aspx頁面,然後在該頁面的*.aspx.cs後臺代碼中編寫一個靜態方法,這裡需要提前引入Newtonsoft.Json的第三方程序集。
  • 用python分析上海二手房數據,用幾十行代碼爬取大規模數據!
    bs4模塊,對響應的連結原始碼進行html解析,後面是python內嵌的解釋器,也可以安裝使用lxml解析器soup = BeautifulSoup(respons,'html.parser')# 獲取類名為c-pagination的div標籤,是一個列表page = soup.select
  • 基於WebGL的在線3D建模與互動腳本開發 ThingJS
    GL中的3D框架進行3D開發,界面設計採用HTML5,系統腳本採用 JavaScript。3D場景所需要的基本要素包括渲染器、場景、相機、燈光、物體,ThingJS 3D引擎都已經封裝成js庫,不需要再造輪子,當然,缺少其中某一樣都不能構成一個完整的3D場景。下面就來談談3D場景創建、腳本開發構建的過程,分成3D建模、交互控制兩部分。
  • js破解之Incapsula cdn
    如下就是Incapsula cdn的js代碼把js整體粘都chrome控制臺執行一波現在開始分析js,了解過我上面提到過的兩個工具的朋友,應該都知道怎麼下這個set cookie斷點(xhr斷點就不說了),這裡就不贅述了,精簡效率為主。這裡以油猴腳本為例(確實更簡單粗暴一點哈)
  • 一次使用 Go 語言編寫腳本的經歷
    本文介紹了我如何嘗試使用 Go 語言進行腳本編程的經歷。文中我將討論 Go 腳本的必要性,我們預期的表現以及可能的實現方式。在討論過程中,我講深入探討腳本、Shell 和 Shebang。最終,我們將會討論讓 Go 腳本工作的解決方案。為什麼 Go 語言適合編寫腳本?
  • Chrome 插件大殺器:「油猴」腳本Tampermonkey 使用詳解
    其實啦,是因為「油猴」的用法稍微複雜,不適合第一次接觸 Chrome 插件的朋友,今天我們就單獨寫一篇「油猴」Tampermonkey 插件的詳細介紹和使用方法。   01 什麼是「油猴」? 「油猴」,Greasemonkey,簡稱 GM,可以簡單理解為腳本管理器。
  • 命令行工具開發:如何快速實現命令行提示?
    那麼對於不同語言的開發者,有沒有一種簡單快捷的實現方式呢?本文分享一種快速實現的方法,使用YAML文件定義命令行工具的使用規範,再通過工具自動生成各種shell的命令行提示腳本,最後分享一些至關重要的命令行解析器。文末福利:雲開發體驗——Linux指令入門。
  • 某寶雙十二活動自動化腳本「全額獎勵,防檢測」
    使用教程1.使用說明高版本某寶APP有檢測機制,經測試V9.0.0版某寶APP可以獲得全額獎勵Android7.0及以上設備(無需Root)安裝Auto.js AppAuto.js APP下導入js腳本開啟無障礙服務並授權給Auto.js後,點擊運行腳本即可腳本執行過程中請勿手動點擊屏幕,否則腳本執行可能會錯亂,導致任務失敗在Auto.js App中提前設置音量上鍵停止所有腳本
  • c編譯器so easy,gcc c編譯器生成、使用動靜態庫
    我們通常使用的gcc –o 是將.c源文件編譯成為一個可執行的二進位代碼(-o選項其實是制定輸出文件文件名,如果不加-c選項,gcc默認會編譯連接生成可執行文件,文件的名稱有-o選項指定),這包括調用作為GCC內的一部分真正的C編譯器(ccl),以及調用GNU C編譯器的輸出中實際可執行代碼的外部GNU彙編器(as)和連接器工具(ld)。
  • 學習Async,Defer 和動態腳本,本文就夠了!
    它必須立刻執行此腳本。對於外部腳本 也是一樣的:瀏覽器必須等腳本下載完,並執行結束,之後才能繼續處理剩餘的頁面。這會導致兩個重要的問題: 腳本不能訪問到位於它們下面的 DOM 元素,因此,腳本無法給它們添加處理程序等。 如果頁面頂部有一個笨重的腳本,它會「阻塞頁面」。
  • 基於openlayer開發webgis
    初始化map在config文件夾下創建mapconfig.js用來設置地圖的圖層、中心點坐標、初始地圖的縮放等級、限制地圖移動範圍在olmap.vue中進行調用,生成地圖Html布局:定義map首先,獲取地圖的標籤this.
  • 英文站點代碼優化操作注意事項-賓哥網站優化
    在英文站點中meta標籤的設置是很簡單的通常布局簡單的字符編碼就可以了,而在meta標籤中的三要素我們則可以根據網站的定位來進行這裡的編輯,可以直接寫死在前端的html代碼中,當然也可以通過程序後臺調用,如果站點打算以流量為優化方向,那麼筆者建議還是使用後臺調用的方式好一些。