您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關JS實現填報時怎么對修改過的單元格進行標識,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1. 描述
在填報預覽時,對單元格編輯后,其左上角有個紅色標記,但非常不明顯,用戶很難注意到。有沒有什么好的辦法,對單元格操作后,將其做較明顯的特殊標記處理,方便用戶識別呢?
如圖所示:對單元格進行操作后,將其單元格進行背景色著色、文本加粗等標記。
2. 實現方法
打開模板 %FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\LineForm.cpt
2.1 方法1:編輯結束后修改單元格樣式
控件編輯后事件中修改單元格樣式,選中需要設置的單元格B3:K3,右擊控件設置>事件編輯,添加一個編輯結束事件:
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. //設置所在單元格背景色:草綠色
9. $("tr[tridx="+ro+"]").find("td[col="+col+"]").css("background-color","rgb(153,204,0)");
10. //設置所在單元格內容:加粗
11. $("tr[tridx="+ro+"]").find("td[col="+col+"]").css("font-weight","bold");
js代碼,可直接使用下面的,更加簡單:
1. var $td=$(arguments[0]);
2. //當前編輯單元格
3. $td.css("background-color","rgb(153,204,0)");
4. //設置所在單元格內容:顏色
5. $td.css("font-weight","bold");
6. //設置所在單元格內容:加粗
2.2 方法2 直接修改值改變后的css樣式
使用上述方法的話,必須對所有填報控件均要設置一遍編輯結束事件,如果模板中填報控件較多且不是連續的話,設置工作量比較大,效率也比較低,其實在填報中,每個單元格值改變后,都會觸發內部的值改變事件,并且會給單元格左上角加上小紅色三角,如下圖所示
對應的css類為dirty類,只需要修改css中這個dirty類的樣式,增加一個背景色或增加加粗樣式,在單元格值發生改變后,會自動使用這個dirty,即可完成對所有填報報表中值發生改變的控件均調用這個樣式,非常簡單適用,方法如下
添加加載結束事件,如下圖
代碼如下:
1. contentPane.on("cellselect", function (td){
2. $('.dirty').css('background-color',"rgb(153,204,0)");
3. //設置dirty類背景色
4. $('.dirty').css('font-weight',"bold");
5. //設置dirty類字體加粗
6. });
使用這種方法后只需要在填報模板的加載結束事件中寫一次代碼即可,不需要再在每個控件的編輯結束事件中單獨寫代碼
.效果預覽
保存模板,點擊填報預覽,效果如上圖。
上述就是小編為大家分享的JS實現填報時怎么對修改過的單元格進行標識了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。