摘要:今天我就來講講插件的使用,它是如何實(shí)現(xiàn)列表表頭自定義顯示字段的,我把我的經(jīng)驗(yàn)分享出來,滿足一下不懂英語的人,給你們搭個快車。需求分析實(shí)現(xiàn)列表表頭自定義顯示字段,自定義表頭排序。
序言
Yii2框架的擴(kuò)展性能真的很不錯,很多效果都可以通過插件去實(shí)現(xiàn),你想不到的老外都幫你想好了,于是,人群中就流傳了這么一句話:效果不會寫不要緊,會用插件也不錯。GitHub是一個龐大而且開放的資源庫,平時有事沒事可以到上面逛逛,收獲會很大。今天我就來講講kartik-v/yii2-dynagrid插件的使用,它是如何實(shí)現(xiàn)列表表頭自定義顯示字段的,我把我的經(jīng)驗(yàn)分享出來,滿足一下不懂英語的人,給你們搭個快車。
需求分析1、實(shí)現(xiàn)列表表頭自定義顯示字段,自定義表頭排序。
2、把1的實(shí)現(xiàn)做成永不改變。
附圖:
改變前圖片
改變后圖片
代碼分析1、安裝kartik-v/yii2-dynagrid插件
下載地址:https://github.com/kartik-v/yii2-dynagrid
1.1、composer安裝。推薦使用,原因是通過composer安裝源碼全。
1.2、手動安裝。不會composer安裝但是想用這插件,怎么辦?那就手動安裝吧!手動安裝好了也能用,就是有些插件吧,你手動安裝的話會缺少些文件,在使用過程中根據(jù)錯誤提示修改就好了。
手動安裝的方法:
大家可以根據(jù)我給你們的下載地址,把源碼下載下來,然后解壓放到項(xiàng)目的vendor文件夾下,把插件的文件夾命名為“yii2-dynagrid”,接著在vendorcomposerautoload_psr4.php文件里邊加上這么一段代碼:"kartikdynagrid" => array($vendorDir . "/kartik-v/yii2-dynagrid"),安裝完成。
2、使用yii2-dynagrid插件
2.1、首先,創(chuàng)建兩個表tbl_dynagrid和tbl_dynagrid_dtl
2.1.1、創(chuàng)建表tbl_dynagrid的執(zhí)行語句
CREATE TABLE `tbl_dynagrid` ( `id` varchar(100) NOT NULL COMMENT "Unique dynagrid setting identifier", `filter_id` varchar(100) COMMENT "Filter setting identifier", `sort_id` varchar(100) COMMENT "Sort setting identifier", `data` varchar(5000) DEFAULT NULL COMMENT "Json encoded data for the dynagrid configuration", PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT="Dynagrid personalization configuration settings";
2.1.2、創(chuàng)建表tbl_dynagrid_dtl的執(zhí)行語句
CREATE TABLE `tbl_dynagrid_dtl` ( `id` varchar(100) NOT NULL COMMENT "Unique dynagrid detail setting identifier", `category` varchar(10) NOT NULL COMMENT "Dynagrid detail setting category "filter" or "sort"", `name` varchar(150) NOT NULL COMMENT "Name to identify the dynagrid detail setting", `data` varchar(5000) DEFAULT NULL COMMENT "Json encoded data for the dynagrid detail configuration", `dynagrid_id` varchar(100) NOT NULL COMMENT "Related dynagrid identifier", PRIMARY KEY (`id`), UNIQUE KEY `tbl_dynagrid_dtl_UK1` (`name`,`category`,`dynagrid_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT="Dynagrid detail configuration settings";
2.2、然后,引入相關(guān)JS
"assets/3f00623f/jquery.js", "assets/bd33b66/js/bootstrap.js", "assets/global/plugins/select2/js/select2.full.js", "assets/js/select2-krajee.min.js",
這里要注意JS沖突的問題,多使用查看源代碼,把該引的引入,多余注釋掉。
2.3、接下來,在view里引用和配置插件(看代碼注釋)
title = Yii::("yii","Sales"); $this->params["breadcrumbs"][] = $this->title; ?>"kartikgridCheckboxColumn"], ["class" => "kartikgridSerialColumn"], "t_name", "t_qq", "t_phone", "t_tel", "t_url:url", "t_company", "t_email:email", "t_for_sale", [ "class" => "kartikgridActionColumn", "dropdown" => false, "vAlign"=>"middle", ], ]; echo DynaGrid::widget([ "columns"=>$gridColumns, "storage"=>DynaGrid::TYPE_DB,//把列表表頭自定義字段編輯后的數(shù)據(jù)插入到表里,實(shí)現(xiàn)編輯后永久保存。 "theme"=>"panel-info", "showPersonalize"=>true,//打開工具欄才顯示 "allowFilterSetting"=>false, "allowSortSetting"=>true, //是否允許Default Sort "allowThemeSetting"=>false, //設(shè)置主題背景 "enableMultiSort"=>true, "toggleButtonGrid"=>[ "title"=>Yii::t("yii","Personalize Grid Configuration"), "data-pjax"=>false, ], "toggleButtonFilter"=>[ //保存編輯過濾器按鈕 "title"=>Yii::t("yii","Save / Edit Grid Filter"), "data-pjax"=>false, ], "toggleButtonSort"=>[ "title"=>Yii::t("yii","Save / Edit Grid Sort"), "data-pjax"=>false, ], "gridOptions"=>[ "dataProvider"=>$dataProvider, "filterModel"=>$searchModel, "panel"=>[ "type" => GridView::TYPE_PRIMARY, "heading"=>"= Html::encode($this->title) ?>
".Html::a(Yii::t("yii","Sales"), ["index"],[])."
", "type"=>"info", "before"=>Html::a("".Yii::t("yii","Create Sales"), ["create"], ["class" => "btn btn-success"]) ." ".Html::a(Yii::t("yii","Sales pool"), ["index?t_for_sale=0"], ["class" => "btn btn-info"])." "."", "after"=>Html::a("".Yii::t("yii", "Reset Grid"), ["index"], ["class" => "btn btn-info"]), "showFooter"=>false, ], "toolbar" => [ ["content"=> Html::button("", ["type"=>"button", "title"=>Yii::t("yii", "Add Book"), "class"=>"btn btn-success", "onclick"=>"alert("This will launch the book creation form. Disabled for this demo!");"]) . " ". Html::a("", ["index"], ["data-pjax"=>0, "class" => "btn btn-default", "title"=>Yii::t("yii", "Reset Grid")]) ], ["content"=>"{dynagridFilter}{dynagridSort}{dynagrid}"],//列表表頭自定義字段工具欄的設(shè)置,這個{dynagrid}就是設(shè)置表頭自定義字段的按鈕 "{export}", "{toggleData}" ], ], "options"=>["id"=>"dynagrid-1"], // a unique identifier is important ]); // Pjax::end(); ?>
好了,到這里你試試看,是不是已經(jīng)實(shí)現(xiàn)了列表表頭自定義顯示字段了。哈哈...
常見問題1、下面這兩個JS沖突:
"assets/global/plugins/jquery.min.js",
"assets/global/plugins/bootstrap/js/bootstrap.min.js",
解決方式:把沖突的JS給注釋掉就好了。
2、JS沒引用全。 注意檢查相關(guān)JS是否引全了。
3、提醒注意:測試的時候要拖動到位,必須拖進(jìn)這Hidden / Fixed Columns藍(lán)色區(qū)域里。
1、yii2-dynagrid插件演示地址:http://demos.krajee.com/dynagrid-demo
2、yii2-dynagrid插件詳細(xì)介紹和屬性配置文檔:http://demos.krajee.com/dynagrid
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/30343.html
摘要:新標(biāo)簽,當(dāng)前所有瀏覽器均不支持該屬性規(guī)定元素可能的選項(xiàng)列表。新標(biāo)簽,目前端除不支持外,其余瀏覽器均支持。新標(biāo)簽定義字符中文注音或字符的解釋或發(fā)音。新標(biāo)簽定義文檔與外部資源的關(guān)系。新標(biāo)簽如有錯誤,請指正。 說明 這篇文章用來記錄html中的英文單詞及其意思!并沒有其具體用法,具體用法請自行搜索!這篇文章只是用來記憶的!注意:這篇文章中列出的標(biāo)簽不包括在規(guī)范中已經(jīng)被刪除和不被html5所支...
摘要:主機(jī)接入新表格組件支持拖拽調(diào)整表頭列寬背景現(xiàn)狀客戶對于主機(jī)名稱的命名規(guī)則廠商地域可用區(qū)產(chǎn)品業(yè)務(wù)服務(wù)內(nèi)網(wǎng),名稱較長,無法在列表頁直觀展示,只能手動上去顯示全部。如有關(guān)于控制臺產(chǎn)品的前端及視覺優(yōu)化建議也歡迎和我們部門同學(xué)反饋。2月份根據(jù)用戶反饋、用戶調(diào)研以及自身使用產(chǎn)品體驗(yàn),將主機(jī)列為重點(diǎn)體驗(yàn)優(yōu)化目標(biāo)產(chǎn)品,主要針對如下業(yè)務(wù)場景進(jìn)行了優(yōu)化:主機(jī)創(chuàng)建頁可用區(qū)售罄地域切換優(yōu)化主機(jī)列表頁主機(jī)接入新表格組...
摘要:消費(fèi)之后,多線程處理文件導(dǎo)出,生成文件后上傳到等文件服務(wù)器。前端直接查詢并且展現(xiàn)對應(yīng)的任務(wù)執(zhí)行列表,去等文件服務(wù)器下載文件即可。這客戶體驗(yàn)不友好,而且網(wǎng)絡(luò)傳輸,系統(tǒng)占用多種問題。拓展閱讀導(dǎo)出最佳實(shí)踐框架 產(chǎn)品需求 產(chǎn)品經(jīng)理需要導(dǎo)出一個頁面的所有的信息到 EXCEL 文件。 需求分析 對于 excel 導(dǎo)出,是一個很常見的需求。 最常見的解決方案就是使用 poi 直接同步導(dǎo)出一個 exc...
HTML5常用標(biāo)簽分類 標(biāo)簽(空格分隔): HTML 前端開發(fā) [TOC] 一.HTML文檔標(biāo)簽 : 定義文檔類型. : 定義HTML文檔. : 定義文檔的頭部.(頭部內(nèi)包含) (1). ``: 定義元素可提供有關(guān)頁面的元信息,比如針對搜索引擎和更新頻度的描述和關(guān)鍵詞. (2). ``:定義頁面上的所有鏈接規(guī)定默認(rèn)地址或默認(rèn)目標(biāo). (3). ``: 定義文檔的標(biāo)題. (4). ``: 定...
閱讀 1868·2021-11-25 09:43
閱讀 15738·2021-09-22 15:11
閱讀 2696·2019-08-30 13:19
閱讀 2073·2019-08-30 12:54
閱讀 1887·2019-08-29 13:06
閱讀 1009·2019-08-26 14:07
閱讀 1669·2019-08-26 10:47
閱讀 3117·2019-08-26 10:41