帆軟按鈕控件變查詢_帆軟報表(多sheet)自定義分頁查詢

3108c1a0da7436744db904c559ff6263.png

三、添加自定義按鈕以及JS事件

1、打開‘模板Web屬性’

3471868

3471868

2、選中‘填報頁面設置’,修改2)為‘為模板單獨設置‘,3)中是前面七個是添加的自定義按鈕;通過4)按鈕進行設置;5)操作是添加‘加載結束’事件;接下來詳細講述每個步驟;

3471868

3471868

3、點擊4)之后彈出下面頁面,自上而下七個按鈕分別為首頁、上一頁、頁碼顯示框、斜杠、總頁數、下一頁、末頁

通過‘編輯’按鈕可以改圖標,然后依次添加自定義事件

3471868

3471868

3471868

3471868

自定義事件:

首頁:

var sheet = _g().parameterEl.getWidgetByName('sheet').getValue();

if(sheet==1)

{

_g().parameterEl.getWidgetByName('page1').setValue(1);

}else{

_g().parameterEl.getWidgetByName('page2').setValue(1);

}

_g().parameterEl.getWidgetByName('Search').fireEvent('click');//Search為查詢按鈕的名字

上一頁:

var beforepage = contentPane.curLGP.getCellValue("A1");

if(beforepage > 0){

var sheet = _g().parameterEl.getWidgetByName('sheet').getValue();

if(sheet==1)

{

_g().parameterEl.getWidgetByName('page1').setValue(beforepage);

}else{

_g().parameterEl.getWidgetByName('page2').setValue(beforepage);

}

_g().parameterEl.getWidgetByName('Search').fireEvent('click');

}

頁碼顯示框:

var toolbar = contentPane.toolbar;

var items = toolbar.options.items;

var customButton = items[2];

var inner = customButton.$btnWrap;

var btnWrapper = $("em", inner);

var $input = $("input", btnWrapper);

//取這個控件

$input.blur(function() {

var targetpage = $input.val();

var endpage = contentPane.curLGP.getCellValue("C1");

if (parseInt(targetpage) > parseInt(endpage) || parseInt(targetpage) < parseInt(1)) {

alert("你輸出的頁數不再指定范圍內");

} else

var sheet = _g().parameterEl.getWidgetByName('sheet').getValue();

if(sheet==1)

{

_g().parameterEl.getWidgetByName('page1').setValue(targetpage);

}else{

_g().parameterEl.getWidgetByName('page2').setValue(targetpage);

}

_g().parameterEl.getWidgetByName('Search').fireEvent('click');

});

斜桿:無

總頁數:無

下一頁:

var nextpage = contentPane.curLGP.getCellValue("B1");

var endpage = contentPane.curLGP.getCellValue("C1");

if(nextpage<=endpage){

var sheet = _g().parameterEl.getWidgetByName('sheet').getValue();

if(sheet==1)

{

_g().parameterEl.getWidgetByName('page1').setValue(nextpage);

}else{

_g().parameterEl.getWidgetByName('page2').setValue(nextpage);

}

_g().parameterEl.getWidgetByName('Search').fireEvent('click');

}

末頁:

var endpage = contentPane.curLGP.getCellValue("C1");

var sheet = _g().parameterEl.getWidgetByName('sheet').getValue();

if(sheet==1)

{

_g().parameterEl.getWidgetByName('page1').setValue(endpage);

}else{

_g().parameterEl.getWidgetByName('page2').setValue(endpage);

}

_g().parameterEl.getWidgetByName('Search').fireEvent('click');

4、添加‘結束事件’

如下:

var toolbar = contentPane.toolbar;

var items = toolbar.options.items;

//JQUERY取我們的工具欄上的按鈕.items[2]代表的是第三個,也就是那個顯示成文本框按鈕。

var customButton=items[2];

var inner = customButton.$btnWrap;

var btnWrapper = $("em", inner);

//修正這個按鈕的屬性,讓它變成文本類型,居中,鼠標放上次圖標是編輯狀態。

btnWrapper.html("");

//獲取D1單元格的值就是page,也就是當前頁。

var cellValue = contentPane.curLGP.getCellValue("D1");

var $input = $("input", btnWrapper);

//給這個文本控件復制,用的是JQUERY的方法,可以COPY。

$input.val(cellValue);

var total=contentPane.curLGP.getCellValue("C1");

//把總頁數顯示在第5個控件上,因為這個數值可能是小數,所以判斷下要不要加一處理。

contentPane.toolbar.options.items[4].setText(total);

//把斜線寫在第4個控件上。

contentPane.toolbar.options.items[3].setText(contentPane.curLGP.getCellValue("E1"));

$(".fr-sheetbutton-container").click(function()//切換sheet時

{var a=contentPane.$contentPane.data('TabPane').tabBtns[contentPane.selectedIndex].options.name;//獲取當前sheet的名字

if(a=="sheet1")? //表示第一個sheet,sheet1需要替換成自己對應的sheet名稱

{

_g().parameterEl.getWidgetByName('sheet').setValue(1);

//當前sheet需要顯示或者隱藏的 控件

_g().parameterEl.getWidgetByName('當前面板所需要顯示的控件名稱').setVisible(true);

_g().parameterEl.getWidgetByName('當前面板所需要隱藏的控件名稱').setVisible(true);

//獲取D1單元格的值就是page,也就是當前頁。

cellValue = contentPane.curLGP.getCellValue("D1");

//給這個文本控件復制,用的是JQUERY的方法,可以COPY。

$input.val(cellValue);

var total=contentPane.curLGP.getCellValue("C1");

//把總頁數顯示在第5個控件上,因為這個數值可能是小數,所以判斷下要不要加一處理。

contentPane.toolbar.options.items[4].setText(total);

}

else

{

_g().parameterEl.getWidgetByName('sheet').setValue(2);

//當前sheet需要顯示或者隱藏的 控件

_g().parameterEl.getWidgetByName('當前面板所需要顯示的控件名稱').setVisible(true);

_g().parameterEl.getWidgetByName('當前面板所需要隱藏的控件名稱').setVisible(true);

//獲取D1單元格的值就是page,也就是當前頁。

cellValue = contentPane.curLGP.getCellValue("D1");

//給這個文本控件復制,用的是JQUERY的方法,可以COPY。

$input.val(cellValue);

var total=contentPane.curLGP.getCellValue("C1");

//把總頁數顯示在第5個控件上,因為這個數值可能是小數,所以判斷下要不要加一處理。

contentPane.toolbar.options.items[4].setText(total);

}

});

四、添加模板數據集

1、oracle分頁查詢sql語句:

SELECT * FROM

(

SELECT A.*, ROWNUM RN

FROM (SELECT * FROM?table_name) A

WHERE ROWNUM <= ${page}*${amount}

)

WHERE RN >= ((${page}-1)*${amount})+1

2、查詢總頁數sql語句:

SELECT ceil(count(*)/${amount}) as totalpage FROM?table_name

注意:如果需要添加where條件,一定兩條語句同時添加

五、面板設計

關于查詢面板設計,不多做說明。多sheet切換時改變面板顯示的功能在 (三).4 中的‘加載結束’事件的js代碼中有說明。自行理解應用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538006.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538006.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538006.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用Python-Flask框架開發Web網站系列課程(一)構建項目

版權聲明&#xff1a;如需轉載&#xff0c;請注明轉載地址。 https://blog.csdn.net/oJohnny123/article/details/81907475 前言 使用IDE&#xff1a;PyCharm 操作系統: Mac Python版本&#xff1a;3.6 我的郵箱:51263921qq.com 交流群: 372430835 請注意&#xff0c;既然要學習…

Mysql varchar 字節長度

1.我們經常 mysql創建 varchar(20) name這個 20長度 究竟是表示的字符數還是字節數&#xff1f;根編碼字符集又有沒有關系&#xff1f; 首先 mysql 5.X 以上的版本的 定義中 表示的字符長度&#xff0c;如上varchar&#xff08;20&#xff09;你既可以添加20個英文字符&#x…

網上訂餐python_來自美國網上訂餐網站的創新

美國網上訂餐網站的創新&#xff1a;小服務半徑產生大價值來源:站長網 作者:揚揚做為一個上班族&#xff0c;尤其是從事it行業的白領階層&#xff0c;整日對著電腦鍵盤敲敲打打&#xff0c;講究的是效率&#xff0c;而每天中午乃至晚上考慮吃些什么卻是讓人極其頭疼的事。去哪里…

PHP學習方向-進階2(三)

實踐篇 給定二維數組&#xff0c;根據某個字段排序如何判斷上傳文件類型&#xff0c;如&#xff1a;僅允許 jpg 上傳不使用臨時變量交換兩個變量的值 $a1; $b2; > $a2; $b1; strtoupper 在轉換中文時存在亂碼&#xff0c;你如何解決&#xff1f;php echo strtoupper(ab你好c…

Spring的@Autowired和@Resource

Autowired 當Spring發現Autowired注解時&#xff0c;將自動在代碼上下文中找到和其匹配&#xff08;默認是類型匹配&#xff09;的Bean&#xff0c;并自動注入到相應的地方去。 必須確保該類型在IOC容器中只有一個對象&#xff1b;否則報錯。 Resource1、Resource后面沒有任何內…

關于xml文件 xsi:schemaLocation

原文連接&#xff1a;https://www.jianshu.com/p/7f4cbcd9f09f ------------------------------------------------------相信很多人對xml 頭上一大堆得東西都是拿來主義&#xff0c;copy過來就行了&#xff0c;并不理解那是什么意思先來一段<?xml version"1.0" …

ES6部分特性小結

前言 踩著前人的肩膀&#xff0c;努力前行。參考了很多前人的文章。 1.變量聲明const和let es6之前聲明變量只能用var&#xff0c;var的特點是無論聲明在何處&#xff0c;都會被視為聲明在函數的最頂部(不在函數內即在全局作用域的最頂部) function test(){if(false){var name …

java 順序棧_Java實現順序棧

一、分析棧是限定僅在表的一端進行插入或刪除操作的線性表&#xff0c;對于棧來說&#xff0c;操作端稱為棧頂&#xff0c;另一端則稱為棧底&#xff0c;棧的修改是按照后進先出的原則進行的&#xff0c;因此又稱為后進先出的線性表。順序棧是指利用順序存儲結構實現的棧&#…

Spring IO platform

什么是Spring IO PlatformSpring IO Platform&#xff0c;簡單的可以認為是一個依賴維護平臺&#xff0c;該平臺將相關依賴匯聚到一起&#xff0c;針對每個依賴&#xff0c;都提供了一個版本號&#xff0c;這些版本對應的依賴都是經過測試的&#xff0c;可以保證一起正常使用。…

二十多歲不信,三十多歲卻深信不疑的道理

1.那些年偷的懶、荒廢的時間、敗壞的身體&#xff0c;都&#xff01;得&#xff01;還&#xff01; 年輕的時候心比天高&#xff0c;以為自己能干出一番大事業&#xff0c;后來慢慢意識到自己只是個普通人。 2.不和講道理。 3.原來被嗤之以鼻的門當戶對是有一定道理的。 4.以貌…

javascript === 和==的區別

原文鏈接&#xff1a;https://blog.csdn.net/seven_amber/article/details/62889290 -------------------------------------------------------------------- 用于比較 判斷 兩者相等 在比較的時候可以轉自動換數據類型用于嚴格比較 判斷兩者嚴格相等 嚴格比較…

authentication java_HTTP基本認證(Basic Authentication)的JAVA實例代碼

大家在登錄網站的時候&#xff0c;大部分時候是通過一個表單提交登錄信息。但是有時候瀏覽器會彈出一個登錄驗證的對話框&#xff0c;如下圖&#xff0c;這就是使用HTTP基本認證。下面來看看一看這個認證的工作過程:第一步:客戶端發送http request 給服務器,服務器驗證該用戶是…

Python數據分析入門(四)

前言上期給大家分享了關于豆瓣5500部電視劇的分析&#xff0c;那么這次我們就給吃貨們帶來一些福利&#xff0c;此次我們的主題為“尋找最好吃的火鍋”。進入主題之前&#xff0c;先給所有的吃貨們帶來一桌美味的火鍋&#xff0c;作為各位看官的前菜。數據采集此次我們采集的是…

微信開發者工具下載

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

java continue goto_Java中goto和break、continue實現區別

goto 關鍵字很早就在程序設計語言中出現。事實上&#xff0c;goto 是匯編語言的程序控制結構的始祖&#xff1a;“若條件 A&#xff0c;則跳到這里&#xff1b;否則跳到那里”。若閱讀由幾乎所有編譯器生成的匯編代碼&#xff0c;就會發現程序控制里包含了許多跳轉。然而&#…

Linux VirtualBox安裝及使用指南

2019獨角獸企業重金招聘Python工程師標準>>> VirtualBox是一款虛擬機軟件。雖然它的功能并不及VMware Workstation Pro&#xff0c;但它對開源精神的堅持使得它在Linux中依然深受歡迎。 唯一難以令人接受的是&#xff0c;VirtualBox的安裝步驟較為復雜。不過&#x…

java web vm_java web .vm文件??

在JavaWeb項目中有很多.vm文件&#xff0c;打開以后是類似于.NETMVC項目中的.cshtml文件的形式#if($linkList)#set($itemsOnLine0)#foreach($linkin...在Java Web項目中有很多.vm文件&#xff0c;打開以后是類似于.NET MVC項目中的.cshtml文件的形式#if($linkList)#set ($items…

Android studio gradle 無法獲取 pom文件

Android studio 3.1 導入app項目后&#xff0c;gradle無法獲取 pom文件 具體保存內容如下&#xff1a; Could not GET https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-g…

生產環境linux下安裝兩個及兩個以上tomcat實踐

前言: 在生產環境部署程序項目中&#xff0c;有時候由于服務器緊張或缺少服務器等原因,往往都需要安裝兩個及兩個以上tomcat。我們需要在/etc/profile中增加tomcat的環境變量&#xff0c;然后在新增加的tomcat的bin目錄下的catalina.sh中引用自己在/etc/profile中配置的環境變量…

java 內存 四_java最終化的內存保留問題(4)

四、一種代替最終化的選擇在前面一節中的示例還存在一種不確定性可能&#xff1a;JVM并不能保證它在最終化隊列中調用對象的終結器的順序。而來自于所有類(應用程序&#xff0c;庫&#xff0c;等等)的終結器都是被同等對待的。因此&#xff0c;一個占有大量內存或一種稀有的本地…