自由報表是紫金橋監(jiān)控組態(tài)軟件提供的功能強大、使用靈活的報表工具,具有自由合并、拆散單元格、設(shè)置位圖、各種鼠標動作、關(guān)聯(lián)實時數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫等功能,可通過腳本動態(tài)設(shè)置各種屬性或統(tǒng)計相關(guān)數(shù)據(jù)。
自由報表的主要功能是實現(xiàn)各種生產(chǎn)報表和統(tǒng)計報表,根據(jù)報表的靈活屬性也可以實現(xiàn)其他的一些功能,比如說可以自由收縮的界面導航功能,運行效果如下圖1和圖2紅色區(qū)域所示。
圖1
圖2
自由收縮導航功能用自由報表是怎么具體實現(xiàn)呢?
首先,進入開發(fā)界面新建一個自由報表,然后打開報表,根據(jù)畫面的多少設(shè)置報表的行,根據(jù)畫面的名字設(shè)置表格里邊的文字內(nèi)容,設(shè)置如下圖3所示。
圖3
收縮功能是通過節(jié)點按鈕鼠標按下里邊的腳本來進行控制實現(xiàn)的。實現(xiàn)此功能的關(guān)鍵點是控制每行的高度,報表設(shè)置高度的函數(shù)是SetRowHeight。
SetRowHeight
說明:設(shè)置某一行的高度。
格式:SetRowHeight (nRow, nHeight)
返回值:整型,0表示失敗,1表示成功。
參數(shù):
nRow,整型,指明的行序號。
nHeight,需要設(shè)置的高度。范圍(6—500)像素。
此示例里邊主要有5個節(jié)點腳本,以“建筑設(shè)備管理系統(tǒng)”節(jié)點按鈕為例,
如下圖4所示。
圖4
每個節(jié)點按鈕建立一個窗口變量,通過窗口變量的1和0之間的變化觸發(fā)腳本。變量為1,顯示此節(jié)點按鈕下的根按鈕(即指定根按鈕的行高度為非零的定值),其他根按鈕隱藏;變量為0,隱藏此節(jié)點按鈕下的根為按鈕(即指定根按鈕的行高度為0)。腳本如下所示:
n1 =!n1;
if n1 == 0 then
#report.setrowheight(2,0);
#report.setrowheight(3,0);
#report.setrowheight(4,0);
#report.setrowheight(5,0);
#report.setrowheight(6,0);
#report.setrowheight(7,0);
#report.setrowheight(8,0);
#report.setrowheight(9,0);
#report.setrowheight(10,0);
#report.setrowheight(11,0);
#report.setrowheight(12,0);
else
n2=0;
n3=0;
n4=0;
n5=0;
#report.setrowheight(2,34);
#report.setrowheight(3,34);
#report.setrowheight(4,34);
#report.setrowheight(5,34);
#report.setrowheight(6,34);
#report.setrowheight(7,34);
#report.setrowheight(8,34);
#report.setrowheight(9,34);
#report.setrowheight(10,34);
#report.setrowheight(11,34);
#report.setrowheight(12,34);
#report.setrowheight(14,0);
#report.setrowheight(15,0);
#report.setrowheight(16,0);
#report.setrowheight(17,0);
#report.setrowheight(18,0);
#report.setrowheight(19,0);
#report.setrowheight(20,0);
#report.setrowheight(22,0);
#report.setrowheight(23,0);
#report.setrowheight(24,0);
#report.setrowheight(26,0);
#report.setrowheight(27,0);
#report.setrowheight(28,0);
#report.setrowheight(30,0);
#report.setrowheight(31,0);
#report.setrowheight(32,0);
#report.setrowheight(33,0);
#report.setrowheight(34,0);
#report.setrowheight(35,0);
#report.setrowheight(36,0);
Endif
也可以通過在根按鈕表格里邊導入圖片美化整個導航界面,如下圖5所示。
圖5
至此通過自由報表做的導航功能就實現(xiàn)了,界面簡潔,友好。
有任何關(guān)于組態(tài)軟件的技術(shù)問題或需要更多的技術(shù)資料,可以在微信(微信號:Realinfo)留下聯(lián)系方式或者到http://www.realinfo.cc/交流論壇里提出,我們將及時為您解答。