遞迴資料是怎樣製作出分組報表

2021-06-27 11:02:40 字數 1048 閱讀 4310

我們所經常用到的就是遞迴形式儲存資料。比如說現在每條記錄都有自己的id和父id,在對都有自己的id和父id的資料進行處理的時候,尤其是將這樣的資料做成分組形式時,有些客戶發現就會遇到一些問題:報表擁有強大的資料處理功能,對於類似的問題都可以解決,下面就介紹一下遞迴的資料如何製作分組報表。

設計思路就是先將根節點的id也就是所有節點的起源顯示出來,然後通過query()這個函式將其子節點篩選出來,這樣一級一級展示,就可以完成報表的分組設計了。

首先,看一下資料在資料庫裡的儲存方式。

1.png

從這裡可以看出 1、2 是所有節點的跟節點,3、4、5的父節點為1,6和7 的父節點是2等等。

建立資料集:sql語句為:select diguitest.id,diguitest.fid from diguit,設計報表如下圖所示。

2.png

然後將根節點顯示出來,在a2中顯示根節點,也就是 父節點為0的點。

a2:=ds1.select(id,,fid==」0″)

b2,c2,d2,這三個單元格分別寫:

=list(query(」select diguitest.id from diguitest where diguitest.fid=?」,a2))

=list(query(」select diguitest.id from diguitest where diguitest.fid=?」,b2))

=list(query(」select diguitest.id from diguitest where diguitest.fid=?」,c2))

以b2為例,query(」select diguitest.id from diguitest where diguitest.fid=?」,a2)這句的含義是選出以a2為父節點的所以id值,然後將得到的值用list封裝起來,展現的時候就有擴充套件的樣式了。

瀏覽報表。

3.png

通過以上步驟便完成分組報表的設計,清晰的看出層級關係,如果層級較少的話也可以通過sql語句來實現,在sql中進行拼接,使得每條記錄都包含該節點到根節點的所有節點,這樣就可以通過博計自帶的分組函式來實現分組設計。

mkimage是怎樣把核心製作成uboot格式的

1 uboot引導linux核心及向核心傳遞引數的方式 一直以來沒有想過有什麼好的辦法通過暫存器向核心傳遞引數,直到今天讀uboot的實現方式。在uboot中,引導核心最常用的方法是bootm命令,bootm命令可以引導 uboot格式 的核心。先花點時間了解一下什麼是 uboot格式 的核心吧 用...

製作手札 RPG是怎樣做成的 一

自從我們的第乙個正式電腦遊戲 衝擊 完成之後,已經有很長一段時間沒有碰這方面的東西了,不過在我心中好象一直在期盼著什麼東西 目睹著當今五彩繽紛的遊戲世界和國產遊戲的尷尬境地,我忽然有一種莫名的衝動,做遊戲的衝動。也許是以前有過這方面的經驗或者說是教訓吧!我知道應該先讓自己冷靜下來,仔細的想一想我到底...

製作手札 RPG是怎樣做成的 三

三月二十九日 至四月一日 場景顯示及行走系統 如果說 訊息處理 是整個程式的核心!那麼 場景顯示及行走系統 就是整個遊戲的核心。因為作為rpg遊戲,其所有事件的發生幾乎都是和場景有關,例如 不同的地方會碰到不同的敵人 與不同的人對話得知不同的事情 在特定的地點才能找到寶物等等,所有的這一切都說明 場...