巧用銳浪報表:用報表腳本實現動態顯示小數位數
需求概述
在某些統計報表中,某類數字其值取值范圍相當大,為了讓超大的數據總的顯示位數不要太多,而較小的數據又要顯示有足夠的精度,即根據數據的大小,顯示不同的小數位數,這有點類似計算機中表示帶小數數據的浮點數機制。
在銳浪報表中可以通過設置數據的“格式”屬性來實現數字按規定格式顯示出來,但上面的要求并不能直接通過設置格式來實現,而是要借助報表腳本功能來實現。
實現說明
首先設置數據的格式為輸出需要的最多小數位數,如格式為“#,##0.000000”,表示數據始終顯示5位小數。然后利用報表腳本根據數據值的大小確定要輸出的小數位,將后面多余的小數位截掉,這樣就得到需要的顯式文字。
在字段或統計框的“獲取顯示文字腳本”屬性上寫報表腳本可以設置其顯示文字,舉例腳本代碼:
//根據值確定要顯示的位數
var v = Sender.Value;
var digit = 0;
if (v>2000)
digit = 0;
else if (v>1500)
digit = 2;
else if (v>800)
digit = 3;
else
digit = 5;
var Text = Sender.DisplayText; //得到根據格式化串生成的蘇劇顯示文本,如:123.45600
var Index = Text.indexOf("."); //確定小數點位置
if (digit > 0)
Index = Index + digit + 1;
else
Index = Index;
Sender.DisplayText = Text.substr(0, Index); //截取顯示文字,并設置為數據的顯示文本
示例下載(http://www.rubylong.cn/download/samples/FloatDecimal.grf)
銳浪報表Grid++Report源自2003年,經過多年持續不斷發展,是擁有最多軟件開發者的報表工具。易學易用,功能豐富,成熟穩定,支持各種編程環境下的報表開發。
浙公網安備 33010602011771號