在報表開發過程中,有些需求可能無法通過現有的功能來實現,需要開發人員二次開發,以finereport為例,可以使用網頁指令碼、api介面等進行深入的開發與控制。
考慮到js指令碼開發的使用較多,這裡先先簡單介紹如何用js對字串進行操作,比如如何判斷字串是否為空,字串的長度,替換,查詢,擷取,或者將字串轉換為其他型別等。
1.字串的長度
1.1 返回字串長度
獲取字串長度,可以使用字串物件的length屬性。例如:
var txt= "hello fr";
txt.length; //返回長度
就會返回8
1.2 字串的判空
字串為空,即字串長度為0,若要實現判空,可以用如下方法:
if(txt.length==0||txt=='')
return true; //為空
else
return false; //不為空
這裡,txt.length==0 或txt==''只需要滿足乙個即可
2.字串的替換
字串 stringobject 的 replace() 方法執行的是查詢並替換的操作。它將在 stringobject 中查詢與 regexp 相匹配的子字串,然後用 replacement 來替換這些子串。如果 regexp 具有全域性標誌 g,那麼 replace() 方法將替換所有匹配的子串。否則,它只替換第乙個匹配子串。
這裡舉個字串替換的例子:
var txt="visit fr!";
txt.replace(/visit/, "hello");
結果將返回hello fr!
3.字串的查詢
search(regexp) 方法用於檢索字串中指定的子字串,他將返回stringobject 中第乙個與 regexp 相匹配的子串的起始位置。
如果沒有找到,將返回-1.
但是,search方法無法查詢全域性,只查詢第乙個出現的匹配字串。
4.字串的擷取
我們可以用substr(start,length)方法來提取乙個字串中的部分內容。
其中start是起始,提取長度為length的新字串。
舉個例子
var txt="visit fr!";
txt.substr(6,2); //從第六個開始去兩個
上述結果將返回fr
字串下標從0開始,如果start為負,則預設從頭開始提取。
5.字串的連線
可以通過字串的concat(str1,str2...) 方法將多個字串連線起來
比如
var str1="hello";
var str2="fr";
str1.concat(str2);
結果將返回hello fr
6字串型別轉換
6.1將字串轉換為數值
可以直接用強制轉換。
如果是轉換為浮點數,則為parsefloat(str)
如果轉換為整數型,則為parseint()
6.2 將字串轉換為陣列
可以使用字串的split(separate)方法將字串分割為陣列。
separate為篩選字串。
比如
var str1="i love fr";
var str2=str1.split(" ");
報表工具的奧秘
也許三個月之後,我就要從前台客服,搖身一變進入db組了。說白了,erp系統本來就是我的老本行。從今天起,記錄二廠gamma系統的特有的方方面面 如果有必要的話。甚至更有甚者,連路徑後面中括號裡面的內容全部沒有,直接就是 設定路徑找不到報表,請檢查 讓你百做不得其解。報表的許可權?設定了啊!報表資料夾...
小白開發報表工具(解析SQL語句)
此方法中將sql語句中的基礎 select 與 from 之間的展示字段解析出來 public list analysissqlcreatfieldsreturnmap string sqlstring 將別名字串還原 fieldalias gobackfields fieldalias,strin...
bi智慧型報表,好用的開源報表工具
為什麼需要電子 國內目前的同類產品中都有報表工具,這些工具大部分都有乙個類似excel的操作介面 單元格 快捷鍵 工具欄等典型設計工具要求。這些工具要麼需要有專業的背景,或者專業的工程師提供支援,要麼學習成本高,調整報表樣式十分麻煩。作為報表開發人員而言,花費大量時間去學習乙個新工具是一件非常苦惱的...