簡體   English   中英

顯示/隱藏html表列並將列首選項存儲在數據庫中的一種更好的(可維護)方法

[英]A better (maintainable) way to show/hide html table columns and store column preferences in a database

我在使用Spring,BIRT,jQuery和hibernate的報表平台中工作。

該工具可以向用戶顯示許多不同的報告,每個報告都顯示為html表(使用BIRT發射器創建)。

我們支持的一個非常重要的功能是顯示和隱藏報表中的某些列,用戶可以切換每個列並將其首選項保存在數據庫中。 我們完成此任務的方法不是最佳方法,它需要大量維護並且經常會中斷。

對於每個報告(很多),我們都有一個.properties文件,其中列出了報告的所有列。 讀取此屬性后,我們將生成一個對話框,其中列出所有列和旁邊的復選框,當用戶選擇/取消選擇列並單擊“保存”時,我們將創建一個0和1的數組(例如0011111111,這里是前2個列是隱藏的,最后8個是顯示的),將此數組傳遞給BIRT以生成一個新的HTML表,其中顯示或隱藏了相應的列,我們還將0和1的數組作為用戶首選項存儲在數據庫中。

誰能提出解決這個問題的更好方法?

我想要的是不必每次我們在報表中添加/刪除/更新列時都更新數據庫和報表.properties文件中的所有用戶首選項(必須這樣做,因為這會更改報表的位置。數組中的0和1)。

一張帶有報表的表格,一張帶有可用列的表格和一張帶有用戶列映射的表格怎么樣? 這樣,如果您在報表中添加一列,則無需更改任何其他表; 僅當用戶顯式選擇先前未選擇的列時,您才需要存儲該信息。

桌子會像

reports 1<-->n columns 0..n<-->0..m users

使用JSON模式表示表配置。 由於它不可搜索,無法索引或鏈接到其他任何東西,因此只需將其存儲為數據庫中的文本blob。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM