摘要:描述在填報(bào)預(yù)覽時(shí),對單元格編輯后,其左上角有個(gè)紅色標(biāo)記,但非常不明顯,用戶很難注意到。有沒有什么好的辦法,對單元格操作后,將其做較明顯的特殊標(biāo)記處理,方便用戶識別呢如圖所示對單元格進(jìn)行操作后,將其單元格進(jìn)行背景色著色文本加粗等標(biāo)記。
描述
在填報(bào)預(yù)覽時(shí),對單元格編輯后,其左上角有個(gè)紅色標(biāo)記,但非常不明顯,用戶很難注意到。有沒有什么好的辦法,對單元格操作后,將其做較明顯的特殊標(biāo)記處理,方便用戶識別呢?
如圖所示:對單元格進(jìn)行操作后,將其單元格進(jìn)行背景色著色、文本加粗等標(biāo)記。
實(shí)現(xiàn)方法
打開模板 %FR_HOME%WebReportWEB-INFreportletsdocFormLineFormLineForm.cpt
2.1 方法1:編輯結(jié)束后修改單元格樣式
控件編輯后事件中修改單元格樣式,選中需要設(shè)置的單元格B3:K3,右擊控件設(shè)置>事件編輯,添加一個(gè)編輯結(jié)束事件:
js代碼如下:
1. var location = this.options.location; 2. //獲取控件的位置 3. var cr = FR.cellStr2ColumnRow(location); 4. //單元格列號 5. var col = cr.col; 6. //單元格行號 7. var ro = cr.row; 8. //設(shè)置所在單元格背景色:草綠色 9. $("tr[tridx="+ro+"]").find("td[col="+col+"]").css("background-color","rgb(153,204,0)"); 10. //設(shè)置所在單元格內(nèi)容:加粗 11. $("tr[tridx="+ro+"]").find("td[col="+col+"]").css("font-weight","bold");
js代碼,可直接使用下面的,更加簡單:
1. var $td=$(arguments[0]); 2. //當(dāng)前編輯單元格 3. $td.css("background-color","rgb(153,204,0)"); 4. //設(shè)置所在單元格內(nèi)容:顏色 5. $td.css("font-weight","bold"); 6. //設(shè)置所在單元格內(nèi)容:加粗
2.2 方法2 直接修改值改變后的css樣式
使用上述方法的話,必須對所有填報(bào)控件均要設(shè)置一遍編輯結(jié)束事件,如果模板中填報(bào)控件較多且不是連續(xù)的話,設(shè)置工作量比較大,效率也比較低,其實(shí)在填報(bào)中,每個(gè)單元格值改變后,都會觸發(fā)內(nèi)部的值改變事件,并且會給單元格左上角加上小紅色三角,如下圖所示
對應(yīng)的css類為dirty類,只需要修改css中這個(gè)dirty類的樣式,增加一個(gè)背景色或增加加粗樣式,在單元格值發(fā)生改變后,會自動(dòng)使用這個(gè)dirty,即可完成對所有填報(bào)報(bào)表中值發(fā)生改變的控件均調(diào)用這個(gè)樣式,非常簡單適用,方法如下
添加加載結(jié)束事件,如下圖
代碼如下:
1. contentPane.on("cellselect", function (td){ 2. $(".dirty").css("background-color","rgb(153,204,0)"); 3. //設(shè)置dirty類背景色 4. $(".dirty").css("font-weight","bold"); 5. //設(shè)置dirty類字體加粗 6. });
使用這種方法后只需要在填報(bào)模板的加載結(jié)束事件中寫一次代碼即可,不需要再在每個(gè)控件的編輯結(jié)束事件中多帶帶寫代碼
效果預(yù)覽
保存模板,點(diǎn)擊填報(bào)預(yù)覽,效果如上圖。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/82464.html
摘要:如果報(bào)表嵌在網(wǎng)頁的中,在外獲取對象如下常用方法方法說明獲取指定單元格中的控件獲取指定名字的控件獲取指定名稱的擴(kuò)展控件,返回一個(gè)數(shù)組表單預(yù)覽或參數(shù)界面,都有一個(gè)對象。 上次介紹FineReport的JS API中的第一類開發(fā)--FR,這次就來介紹一下FS和contentWindow類的開發(fā)。1 FSFS是數(shù)據(jù)決策系統(tǒng)中的js接口,比如說FS.tabPane.addItem,先介紹幾類操作...
摘要:優(yōu)化過后則可以將光標(biāo)強(qiáng)制跳轉(zhuǎn)到單元格,使其獲得光標(biāo),進(jìn)而強(qiáng)制單元格刷新值。常見場景用戶通過文本框填報(bào)了值,而需要對這個(gè)值進(jìn)行取出判斷的時(shí)候,經(jīng)常會取空值,只有用戶點(diǎn)擊了空白區(qū)域,才可以正常取值。 我們經(jīng)常利用按鈕進(jìn)行一些頁面值的處理工作,但是默認(rèn)的邏輯造成,每次新填報(bào)的值,需要點(diǎn)擊下空白區(qū)域或是執(zhí)行某個(gè)其他操作才可以被正確讀取,那么我們?nèi)绾翁幚砟兀?例:當(dāng)我們用常規(guī)取值的時(shí)候,雖然B3...
摘要:示例下面我們以行數(shù)據(jù)為例,每頁顯示行,分頁顯示。數(shù)據(jù)準(zhǔn)備新建數(shù)據(jù)集訂單明細(xì)。重復(fù)標(biāo)題行選中標(biāo)題行,右鍵,選擇設(shè)置重復(fù)標(biāo)題行。 問題描述 進(jìn)行FineReport數(shù)據(jù)填報(bào)時(shí),如果數(shù)據(jù)量過大,由于前端瀏覽器的性能限制,如果將數(shù)據(jù)全部展現(xiàn)出來,速度會非常的慢,影響用戶體驗(yàn),這時(shí)候大家就會想,填報(bào)是否能像分頁預(yù)覽一樣進(jìn)行分頁呢,實(shí)現(xiàn)只加載當(dāng)前頁,從而提高性能,下面我們就來介紹填報(bào)分頁的制作與瀏...
摘要:示例下面我們以行數(shù)據(jù)為例,每頁顯示行,分頁顯示。數(shù)據(jù)準(zhǔn)備新建數(shù)據(jù)集訂單明細(xì)。重復(fù)標(biāo)題行選中標(biāo)題行,右鍵,選擇設(shè)置重復(fù)標(biāo)題行。 問題描述 進(jìn)行FineReport數(shù)據(jù)填報(bào)時(shí),如果數(shù)據(jù)量過大,由于前端瀏覽器的性能限制,如果將數(shù)據(jù)全部展現(xiàn)出來,速度會非常的慢,影響用戶體驗(yàn),這時(shí)候大家就會想,填報(bào)是否能像分頁預(yù)覽一樣進(jìn)行分頁呢,實(shí)現(xiàn)只加載當(dāng)前頁,從而提高性能,下面我們就來介紹填報(bào)分頁的制作與瀏...
摘要:用不到行代碼,在前端實(shí)現(xiàn)的全部功能千萬前端開發(fā)者翹首企盼,終發(fā)布更新六大功能特性,帶來更多便利,用不到行代碼,在前端實(shí)現(xiàn)的全部功能是一款基于的純前端電子表格控件,以高速低耗高度類似可無限擴(kuò)展為產(chǎn)品特色,提供移動(dòng)跨平臺和瀏覽器支持,同時(shí)滿足等 用不到100行代碼,在前端實(shí)現(xiàn)Excel的全部功能 千萬前端開發(fā)者翹首企盼,SpreadJS V12.2 終發(fā)布更新:六大功能特性,帶來更多便利,...
閱讀 3419·2021-11-15 11:39
閱讀 1552·2021-09-22 10:02
閱讀 1309·2021-08-27 16:24
閱讀 3596·2019-08-30 15:52
閱讀 3412·2019-08-29 16:20
閱讀 824·2019-08-28 18:12
閱讀 549·2019-08-26 18:27
閱讀 715·2019-08-26 13:32