【連載】研究EasyUI系統— Layout元件
layout看它的名稱便知道是一個用於佈局的元件。事實上也是如此,layout由五個部分組成,分別位於螢幕的上、下、左、右、中五個位置(在easyui中用東、南、西、北、中來描述)。
上圖便是layout元件的效果圖。layout依賴於panel和resizable兩個元件,因此繼承了兩個元件的屬性。layout元件除了中部的區域外,其他四個區域都是可選的,在實際專案中按需增刪。另外,這四個區域也是可伸縮的。我們依然通過導航選單、tab頁和資料列表的組合,描述layout元件的用法。
先看一下layout元件製成導航選單的效果圖。
同時附上程式碼。
layoutDemo.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="easyui/themes/bootstrap/easyui.css" />
<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
<script type="text/javascript" src="easyui/jquery.min.js"></script>
<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>
<title>layoutDemo</title>
<style>
a {
text-decoration:none;
font-size: 13px;
color:black
}
.nav-item {
padding: 10px;
border: none;
}
</style>
<script>
/* addTab方法用來新建或切換tab頁 */
function addTab(url,title) {
if ($("#content_tab").tabs('exists', title)) {
$("#content_tab").tabs('select', title);
} else {
$("#content_tab").tabs('add', {
title: title,
href: url,
closable: true,
cache:false
});
}
}
</script>
</head>
<body class="easyui-layout" id="layout">
<!-- north區域使用了layout的href屬性,載入pageHeader.php作為頁面頭部 -->
<div style="height:80px;" data-options="region:'north',split:false,href:'pageHeader.php'" ></div>
<div style="width:200px;" data-options="region:'west',title:'導航選單',split:true">
<div class="nav-item">
<table>
<tr>
<td style="height:30px;"><img src="images/icon_menu.png" alt="" /></td>
<td>
<a href="javascript:void(0);" onclick="addTab('pageDepartment.php','部門資訊')">部門資訊</a>
</td>
</tr>
<tr>
<td style="height:30px;"><img src="images/icon_menu.png" alt="" /></td>
<td>
<a href="javascript:void(0);" onclick="addTab('#','人員資訊')">人員資訊</a>
</td>
</tr>
</table>
</div>
</div>
<!-- center區域包含tab元件,用來開啟各頁 -->
<div data-options="region:'center'" style="padding:5px">
<div id="content_tab" name="content_tab" class="easyui-tabs" style="width:100%;height:auto;" data-options="plain:true"></div>
</div>
</body>
</html>
pageHeader.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div style="height:78px;background: #efefef">
<span style="font-size: 26px;font-family: '黑體';line-height: 78px;padding-left: 20px;">Layout元件示例頁面</span>
</div>
</body>
</html>
pageDepartment.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="easyui/themes/bootstrap/easyui.css" />
<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
<script type="text/javascript" src="easyui/jquery.min.js"></script>
<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>
<title>部門資訊</title>
</head>
<body>
<div class="container" style="overflow-x: hidden">
<!-- “部門資訊”頁面包含了datagrid元件,我們會對該元件專門講解
datagrid元件從dep.json讀取資訊並顯示 -->
<div class="easyui-datagrid" id="gridDep"></div>
</div>
<script>
$("#gridDep").datagrid({
pagination:true,
title:'部門資訊',
fitColumns:false,
url:'dep.json',
rownumbers: true,
singleSelect:true,
loadMsg: '正在獲取資料,請稍後',
pageSize:20,
pageList:[20],
columns:[[
{field:'ck',checkbox:true},
{field:'dep1',title:'序號',align:'center',hidden:true},
{field:'dep2',title:'部門名稱',align:'center',width:'20%'},
{field:'dep3',title:'成立時間',align:'center',width:'20%'},
{field:'dep4',title:'上級部門',align:'center',width:'20%'},
{field:'dep5',title:'部門主管',align:'center',width:'18%'},
{field:'dep6',title:'分管領導',align:'center',width:'15%'}
]]
});
</script>
</body>
</html>
dep.json
[
{"dep1": 1,"dep2": "總務部","dep3": "2014-1-1","dep4": "公司總部","dep5": "張三","dep6": "王總"},
{"dep1": 2,"dep2": "銷售部","dep3": "2014-1-5","dep4": "公司總部","dep5": "李四","dep6": "李總"},
{"dep1": 3,"dep2": "軟體事業部","dep3": "2014-3-20","dep4": "公司總部","dep5": "王五","dep6": "王總"},
{"dep1": 4,"dep2": "硬體事業部","dep3": "2014-5-6","dep4": "公司總部","dep5": "趙六","dep6": "王總"},
{"dep1": 5,"dep2": "銷售一中心","dep3": "2014-2-6","dep4": "銷售部","dep5": "小明","dep6": "李四"},
{"dep1": 6,"dep2": "系統整合與維護中心","dep3": "2014-3-25","dep4": "軟體事業部","dep5": "小強","dep6": "王五"}
]
上述程式碼簡單地展現了layout元件的基本用法。裡面涉及到datagrid元件,我們會另起一文講述。
我們可以認為layout元件由框架和麵板兩部分組成。根據上述程式碼,<body>
便是框架,因為它包含了內部三個面板。面板自然就是包含於中的三個<div>
。
layout元件屬性(框架)
屬性名稱 | 屬性值型別 | 屬性預設值 | 描述 |
---|---|---|---|
fit | 布林值 | false | 如true,元件則填充父容器。 |
layout元件屬性(面板)
屬性名稱 | 屬性值型別 | 屬性預設值 | 描述 |
---|---|---|---|
title | 字串 | null | 面板標題。 |
region | 字串 | 面板位置。 共“north”、“south”、“west”、“east”、“center”五種。 |
|
border | 布林值 | true | 是否顯示面板邊框。 |
split | 布林值 | false | 是否顯示分隔欄,如有分隔欄,使用者可改變面板大小。 |
iconCls | 字串 | null | 面板頭部的圖示樣式。 |
href | 字串 | null | 指定該屬性後,面板會載入該屬性所指定的頁面。 |
collapsible | 布林值 | true | 是否顯示可伸縮按鈕。 |
minWidth | 數值 | 10 | 面板最小寬度。 |
minHeight | 數值 | 10 | 面板最小高度。 |
maxWidth | 數值 | 10000 | 面板最大寬度。 |
maxHeight | 數值 | 10000 | 面板最大高度。 |
layout元件中有關面板的屬性其實都不復雜,也不用太多講解。
region、title、href用法已在程式碼x-1中詳細展示。west面板中,collapsible 屬性設定為true,便可以見到west面板右上角的可伸縮按鈕圖示。iconCls屬性用法請見panel部分。
(http://blog.csdn.net/redeg/article/details/54311658)
split效果圖如下。
上圖中,我們將“北部區域”的面板(region 屬性值為“north”)的split屬性設為false,意為不顯示分隔欄。同時又將“西部區域”的面板(region 屬性值為“west”)的split屬性設為true,圖中可見“西部區域”與“中部區域”之間有一條分隔欄,使用者可以拖動上述分隔欄調整“西部區域”面板大小。
layout元件方法:
方法名稱 | 引數 | 描述 |
---|---|---|
resize | param | 調整layout元件大小。 |
panel | region | 返回指定的面板物件。 |
collapse | region | 收縮指定的面板。 |
expand | region | 展開指定的面板。 |
add | options | 新增面板。 |
remove | region | 刪除指定的面板。 |
resize方法用於調整layout元件(是容器而不是面板)引數param是一組json,包含寬度和高度。
$("#layout").layout("resize", {width:"80%", height:400});
panel、collapse、expand、remove功能比較簡單,他的引數是面板區域。除panel外,其他三個方法的引數分別為“north”、“south”、“west”、“east”,panel方法還增加了“center”引數。
$("#layout").layout("remove","north");
add方法用法請參見tabs元件一文。
(http://blog.csdn.net/redeg/article/details/56844983)
相關推薦
【連載】研究EasyUI系統— Layout元件
layout看它的名稱便知道是一個用於佈局的元件。事實上也是如此,layout由五個部分組成,分別位於螢幕的上、下、左、右、中五個位置(在easyui中用東、南、西、北、中來描述)。 上圖便是layout元件的效果圖。layout依賴於pane
【連載】研究EasyUI系統— Window元件
window元件是獨立於父元件的視窗元件,往往用於顯示額外的資訊或者接收使用者的輸入。視窗可以關閉,也可以拖動或拉伸,有很強的靈活性。 上圖採用了常用的網站設計,頂部為橙色背景條,點選“登入”按鈕彈出window元件,點選“取消”則隱藏元件。
【連載】研究EasyUI系統—Panel元件(方法和事件)
我們來看一下panel方法和事件。 panel方法。 方法名稱 引數 方法描述 options 無 返回所有屬性。 panel 無 返回整個panel元件物件。 header 無
【連載】研究EasyUI系統— Resizable元件
resizable元件提供了一種可拉伸、縮小放大的功能,很多桌面應用程式,比如圖片檢視器、word文件等,使用者可以通過滑鼠將程式拉大拉小,resizable元件則在web頁面上為各類元素提供了類似的功能,我們先通過一個縮放圖片的例子瞭解一下resizabl
【連載】研究EasyUI系統—Tree元件(方法)
前面幾篇文章介紹了tree元件的屬性,接下來我們要介紹tree元件的一些方法。 方法名稱 引數 描述 options 無 獲取元件所有屬性。 loadData data 載入節點資料。 getNo
【連載】研究EasyUI系統—Easyloader元件
easyloader元件在easyui框架中的主要作用就是載入各種各樣的模組,可以是easyui預設的模組,也可以是其他外部(包括網路上的)模組。 easyloader屬性: 屬性名稱 屬性值型別 屬性預設值 描述
【連載】研究EasyUI系統—ProgressBar元件
progressbar元件即極為常見的進度條,我們在安裝程式以及其他比較耗時的場合能看見。 首先看一下這個元件的效果,下面的程式碼實現了每隔1秒進度條就增加10%的功能。 <html> <head> <l
【連載】研究EasyUI系統—Panel元件(屬性)
panel屬性比較多,根據常用的程度有選擇性地介紹一些。。 屬性名稱 屬性值型別 屬性預設值 描述 id 字串 null 控制元件id title 字串 null 控制元件header標題
【連載】研究EasyUI系統—Panel元件(概述)
panel是最為基礎的佈局元件, 其他layout、accordion和tab等佈局元件都要依賴panel。panel是一個容器,在他內部可以建立其他元件。 我們可以通過html的形
【原創】.NET平臺機器學習元件-Infer.NET連載(一)介紹
關於本文件的說明 本文件基於Infer.NET 2.6對Infer.NET User Guide進行中文翻譯,但進行了若干簡化和提煉,按照原網站的思路進行,但不侷限與其順序。 歡迎傳播分享,必須保持原作者的資訊,但禁止將該文件直接用於商業盈利。 本人正在研究基於Infer.NET元件,並
【原創】.NET平臺機器學習元件-Infer.NET連載(二)貝葉斯分類器
關於本文件的說明 本文件基於Infer.NET 2.6對Infer.NET User Guide進行中文翻譯,但進行了若干簡化和提煉,按照原網站的思路進行,但不侷限與其順序。 歡迎傳播分享,必須保持原作者的資訊,但禁止將該文件直接用於商業盈利。 本人正在研究基於Infer.NET元件,並
【連載】計算機組成原理 --- 第四章指令系統
本章主要內容: (一)指令格式 1.指令的基本格式 2.定長操作碼指令格式 3.擴充套件操作碼指令格式 (二)指令的定址方式 1.有效地址的概念 2.資料定址和指令定址 3.常見定址方式 (三)CIS
【iOS】UICollectionView自己定義Layout之蜂窩布局
with top http reserve src 布局 step object .com 網上的UICollectionView的Layout布局,其cell的形狀多為矩形和圓形。 本篇博文將正六邊形作為cell的基本形狀,為您展現獨特的蜂窩布局效果及實現源代碼。 幫
【Linux】Linux操作系統學習路線
目錄 用戶和用戶組 logs mysq 紅旗 移植 ini var 文件權限 數據離不開服務端的存儲,Linux是免費、開源、相對其他操作系統比較穩定、安全,是服務端部署首選的操作系統。 網上關於Linux的學習材料已經很多,這裏只是簡單羅列一下Linux的學習要點。 最重
【轉】以操作系統的角度述說線程與進程
chrom 如果 進程和線程 單元 當前 結果 right 不同 其它 轉自:http://blog.csdn.net/luoweifu/article/details/46595285 什麽是線程 什麽是線程?線程與進程與有什麽關系?這是一個非常抽象的問題,也是一個特
【Java】得到當前系統時間,精確到毫秒
logs out println -1 gettime system public pan time import java.text.SimpleDateFormat; import java.util.Date; import java.util.Calenda
【CCF】模板生成系統
== req 文本 fin nth mat vid using 規模 問題描述 成成最近在搭建一個網站,其中一些頁面的部分內容來自數據庫中不同的數據記錄,但是頁面的基本結構是相同的。例如,對於展示用戶信息的頁面,當用戶為 Tom 時,網頁的源代碼是 而當用戶為 Jer
【CQOI2015】 任務查詢系統 (主席樹)
names 輸入輸出格式 輸出 正整數 當前 getc printf scanf 大於 luogu & bzoj 題目描述 最近實驗室正在為其管理的超級計算機編制一套任務管理系統,而你被安排完成其中的查詢部分。超級計算機中的任務用三元組(Si,Ei,Pi)描述,
【Linux】Linux操作系統期末復習筆記
tor 16px 引導 基本操作 sta keywords game 區域 bash Linux操作系統基礎Xu An 2018-7-4第一講 Linux簡介1、Linux是一個開源的操作系統,發布於GPL協議,全稱為GNU/Linux2、Linux和Unix是相近的3
【北京】高級系統實施工程師 10—30w/年
交流 分析報告 團隊合作 團隊 敬業 專業咨詢 興趣 解決 希望 【崗位職責】:1、 負責電商平臺業務調研工作,與電商平臺用戶進行接洽,了解用戶情況,分析用戶需求;2、 負責電商平臺業務分析工作,為用戶提供相關的業務咨詢和技術咨詢,提供相應的解決方案;3、 根據調研分析結果