999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于jQuery框架的DataTable組件設計與開發

2023-05-29 09:23:46李琦李志卿劉磊高士琛鄧婕
電子技術與軟件工程 2023年7期
關鍵詞:按鈕設置功能

李琦 李志卿 劉磊 高士琛 鄧婕

(中電科蓉威電子技術有限公司 四川省成都市 610031)

隨著互聯網技術的不斷進步和企業信息化建設水平的發展,基于B/S 架構下的Web 項目開發,逐漸成為開發的主流技術[1]。在實際項目開發過程中,查詢結果的數據呈現是大多數系統的必備功能。Datatable 是一款jQuery 表格插件,它是一個當前使用較為廣泛的表格工具,具備按行列顯示表格數據、分頁、篩選和排序等功能[2]。在現有的Datatable 表格插件中,表頭項基本在代碼中固定。當表格列數目過多時,會出現屏幕溢出;當表頭順序或顯隱需要調整時,需要在代碼中修改,靈活性、可修改性較差;各單元格如果內容較多時,會出現顯示內容不全,無法做到一目了然。現有的技術方案是通過開發人員修改硬編碼實現,實際操作性、靈活性不強,且會因為需求變化、屏幕分辨率不同等出現顯示異常,影響用戶體驗。因此,基于jQuery 設計一個通用的表格插件功能方法,實現當用戶業務需求發生變化時,不需重寫代碼,只需在頁面上以點擊按鈕的方式修改樣式文件,達到動態呈現數據的目的,此方法可以滿足個性化顯示需求,方便用戶使用。

1 流程設計

依據基于jQuery 的組件設計通用思路,在此基礎上拓展Datatable 表格插件功能方法[3]。首先在HTML頁面,使用grid 網格控件搭建table 表格,完成table 表格的初始建立,搭建基本框架,并在JavaScript 中綁定基于jQuery 的Datatable 組件,實現Datatable 基本表格顯示功能。在HTML 頁面設置按鈕,按鈕個數與顯示的列項一一對應。添加多個按鈕控件,將擴展功能以函數的形式進行封裝,以便調用,將相關方法與按鈕控件綁定;同時,將DataTable 組件與table 表格進行綁定。最后重寫DataTable 組件的JavaScript 和層疊樣式表CSS,以實現點擊不同的按鈕,實現的不同擴展功能。使用者可以在頁面上,通過點擊按鈕的方式,根據實際使用需求,靈活修改表頭的顯隱,顯示順序,設置每一列的顯示寬度和顯示各單元格全部數據。流程設計圖如圖1 所示。

圖1:設計流程圖

其中,JavaScript 簡稱“JS”,是一種具有函數優先的輕量級,解釋型或即時編譯型的編程語言,作用是嵌入動態文本于HTML 頁面,對用戶操作瀏覽器事件做出響應,實現相關功能[4]。CSS 是指層疊樣式表,作用是描述HTML 文檔樣式,本文是通過調用原有的Datatable 的CSS 樣式,將表格顯示出來[5]。

2 技術方案

除了基本的顯示、分頁、排序、搜索功能外,基于jQuery 的Datatable 組件還支持擴展和二次開發,以實現更加靈活的定制化功能。本文通過編寫Datatable 組件的JavaScript 代碼,實現相關拓展功能,并輔以CSS層疊樣式表,為HTML 頁面添加更多的功能和樣式。基于上述流程設計的詳細技術方案如下:

(1)在HTML 頁面完成table 表格的初始建立,加載table 表格的網格控件grid,包括:表頭標簽和表格內容;

(2)在同一HTML 頁面,設置列按鈕,列按鈕需與表頭標簽順序相同、內容相同;

(3)添加按鈕控件,包括列的顯示按鈕,列的隱藏按鈕,表格列數據顯示折行按鈕,設置表格顯示順序按鈕和設置表格列寬度按鈕,便于點擊相應按鈕實現相應的功能;

(4)調用DataTable 組件的JavaScript 和CSS,與表格的id 進行綁定,實現基本的顯示、分頁、排序和搜索功能;

(5)重寫DataTable 的JavaScript 和層疊樣式表CSS:

①添加獲取cookie 的方法,獲取指定名稱的cookie值,當獲取的是多個cookie 值時,保存的時候是以分號或空格分開;②添加設置cookie 的方法,將cookie 的value 值與表格的id 一一對應;③在執行完上述步驟4的時候,觸發添加表格列的初始化方法:首先獲取table對象、table 標簽的id 和模態框頂級

的id,然后調用步驟1 和步驟2 的方法,根據cookie 的信息控制列的顯示隱藏;④添加與步驟3 中的按鈕控件相對應的執行功能函數,所述執行功能函數包括:列的顯示與隱藏的執行功能函數、表格列數據顯示折行的執行功能函數、表格顯示順序的執行功能函數和設置表格列寬度的執行功能函數;⑤當執行完表格列的初始化方法后,將添加的按鈕控件與相對應的執行功能函數進行綁定。

3 Datatable的高級方法實現

Datatable 是一個基于jQuery 庫的表格插件,它可以在web 頁面中快速創建功能強大、高度靈活的數據表格[6]。除了基本的分頁、排序、搜索功能外,我們也可以通過擴展Datatable 組件或者基于其源碼進行二次開發,以實現更加定制化的功能。例如,我們可以開發插件、自定義插件、重寫插件方法等,以滿足特定需求[7]。

3.1 添加列的顯示與隱藏的執行功能

(1)獲取table 表格對象、table 表格標簽的id 和模態框頂級

的id,實質上是直接采用上述技術方案中步驟5 第③步table 表格列的初始化方法,相當于形成循環,可以進行多次修改和調整;

(2)將獲取的模態框頂級

的id 綁定click 點擊事件,實現點擊按鈕,與相關功能綁定;

(3)獲取列的接口對象,根據當前列的顯隱狀態做出判斷:如果列的狀態為“顯示”,則添加對應的CSS 和類屬性Class,并更改狀態為“隱藏”;如果列的狀態為“隱藏”,則刪除對應的CSS 和類屬性Class,并更改狀態為“顯示”;

(4)將(1)中獲取的模態框頂級

的id 和③中的列的顯隱狀態存入數組,調用之前添加的設置cookie 的方法,進行存儲。根據實際顯示需求,模塊應用截圖如圖2 所示。

圖2:設置表格列的顯隱

3.2 添加表格列數據顯示折行的執行功能

(1)獲取table 表格列顯示的

  • 項目標簽,將
  • 項目標簽與表格列數據顯示折行按鈕的狀態進行綁定;

    (2)點擊表格列數據顯示折行按鈕,傳遞標識值;當選擇折行時,傳遞的flag(標識)值為1,此時為每列單元格添加如下CSS:“text-overflow”:“ellipsis”,“white-space”:“pre-wrap”;當選擇不折行時,傳遞的flag(標識)值為0,此時為每列單元格添加如下CSS:“text-overflow”:“inherit”,“white-space”:“nowrap”;

    text-overflow 屬性的主要作用是:規定當文本溢出包含元素時發生的事情,如果是ellipsis:顯示省略符號來代表被修剪的文本;如果是inherit:展示全部文本。

    white-space 屬性的主要作用是:設置如何處理元素內的空白,如果是pre-wrap:保留空白符序列,但是正常地進行換行;如果是nowrap:文本不會換行,文本會在在同一行上繼續。

    以table 表格中URL 列為例,根據實際顯示需求,模塊應用截圖如圖3、圖4 所示。

    圖3:Url 列單元格數據顯示不全

    圖4:Url 列單元格數據全部顯示

    3.3 添加設置表格顯示順序的執行功能

    (1)獲取表格列顯示的

  • 項目標簽標簽,將
  • 項目標簽與設置table 表格顯示順序按鈕的狀態進行綁定;

    (2)獲取table 表格中的所有列的

    的id,并設置對應列的按鈕,以便拖動;

    (3)將對應列的按鈕與獲取的id 綁定,并設置相關CSS,實現拖動相關列,并將順序存入相應的數組中;

    (4)添加調取獲取每一列寬度的函數方法,以獲取每一列的寬度;

    (5)當拖動列,使列的順序發明變化后,保存③中列的順序,調用④中添加的函數方法和調用添加的設置cookie 的方法,將cookie 的value 值與id 一一對應。

    根據實際顯示需求,設置表格列顯示順序,拖動圖標即可修改順序,模塊應用截圖如圖5 所示。

    圖5:編輯表格列顯示順序

    3.4 添加設置表格列寬度的執行功能

    (1)獲取表格列顯示的

  • 項目標簽,將
  • 項目標簽與按鈕控件的狀態進行綁定;

    (2)獲取表格中的所有列的

    的id,并設置對應列的按鈕;并為每一列添加表單標簽;所述按鈕為點擊按鈕,點擊后彈出input 對話框,可以由用戶填入相應的寬度;

    (3)將列寬度儲存到數組中,并將數組傳入并調用上述獲取每一列寬度的函數方法和步添加設置cookie的方法中。

    根據實際顯示需求以及屏幕分辨率,模塊應用截圖如圖6 所示。

    圖6:設置列寬

    4 分析總結

    綜上所述,Datatable 是一個強大且靈活的表格組件,擁有廣泛的應用前景。在實際開發中,我們可以根據具體需求,采取不同的措施優化Datatable 的功能和性能,并進行更加深入的擴展和二次開發。上述方法已在多個實際項目應用,函數封裝較好,運行穩定,在不脫離技術方案構思的前提下,還可以做出若干變形和改進,為近似類型的應用提供了良好的設計思路和示范。

    猜你喜歡
    按鈕設置功能
    這些按鈕能隨便按嗎?
    也談詩的“功能”
    中華詩詞(2022年6期)2022-12-31 06:41:24
    當你面前有個按鈕
    中隊崗位該如何設置
    少先隊活動(2021年4期)2021-07-23 01:46:22
    關于非首都功能疏解的幾點思考
    本刊欄目設置說明
    中俄臨床醫學專業課程設置的比較與思考
    內心不能碰的按鈕
    商業評論(2014年9期)2015-02-28 04:32:41
    中西醫結合治療甲狀腺功能亢進癥31例
    辨證施護在輕度認知功能損害中的應用
  • 主站蜘蛛池模板: 黄色网页在线播放| 亚洲天堂视频在线播放| 国产日韩丝袜一二三区| 福利姬国产精品一区在线| 色欲不卡无码一区二区| 久青草网站| 久久精品免费看一| 97超级碰碰碰碰精品| 99er这里只有精品| 亚洲精品天堂在线观看| 欧美v在线| 99偷拍视频精品一区二区| 亚洲热线99精品视频| 日本午夜三级| 国产麻豆精品手机在线观看| 又大又硬又爽免费视频| 五月婷婷中文字幕| 538精品在线观看| 国产无码高清视频不卡| 四虎国产成人免费观看| aaa国产一级毛片| 成年网址网站在线观看| 国产亚洲视频中文字幕视频| 色精品视频| 亚洲首页在线观看| 日韩精品亚洲精品第一页| 一区二区在线视频免费观看| 成人噜噜噜视频在线观看| 精品少妇人妻无码久久| 香蕉国产精品视频| 亚洲国产AV无码综合原创| 日韩 欧美 国产 精品 综合| 国产成人无码综合亚洲日韩不卡| 亚洲无码不卡网| 久久频这里精品99香蕉久网址| 一区二区日韩国产精久久| 亚洲国产系列| 青青操国产视频| 中文字幕欧美日韩| 日韩成人在线网站| 欧美成人A视频| 亚洲人成网18禁| 国产成人高清亚洲一区久久| 亚洲水蜜桃久久综合网站| 99在线视频免费| 国内精自线i品一区202| 91探花在线观看国产最新| 在线无码九区| 波多野结衣一级毛片| 久青草国产高清在线视频| 亚洲国语自产一区第二页| 免费jjzz在在线播放国产| 女人爽到高潮免费视频大全| 99性视频| 视频一本大道香蕉久在线播放| 久久久久亚洲精品无码网站| 婷婷亚洲综合五月天在线| 91在线丝袜| 亚洲一区网站| 成人韩免费网站| 色悠久久综合| 青草精品视频| 亚洲欧美精品在线| 亚洲伊人天堂| 欧美成在线视频| 美女高潮全身流白浆福利区| 亚洲永久免费网站| 日韩乱码免费一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 亚洲乱伦视频| 亚洲色图综合在线| 一级在线毛片| 激情无码字幕综合| 日韩欧美国产三级| 日韩精品亚洲人旧成在线| 欧美h在线观看| 99人妻碰碰碰久久久久禁片| www亚洲精品| 免费xxxxx在线观看网站| 国产成人高清在线精品| 亚洲欧美h| 欧美日韩在线国产|