JQuery Easy Ui (Tree樹)詳解(轉)
第一講:JQuery Easy Ui到底是什么呢?
首先咱們知道JQuery是對Java Script的封裝,是一個js庫,主要提供的功能是選擇器,屬性修改和事件綁定等等。。
JQuery ui是在jQuery的基礎上,利用jQuery的擴展性,設計的插件。
那么JQuery Easy Ui到底是什么呢?
我的理解就是比JQuery ui更強大,同樣都是實現絢麗的多功能效果!
jQuery Easy UI的目的就是幫助Web開發者更輕松的打造出功能更豐富並且更美觀的UI界面。
當然JQuery Easy ui提供了用於創建跨瀏覽器網頁的完整的組件集合,
包括功能強大的 datagrid(數據網格)、treegrid(樹形表格)、 panel(面板)、combo(下拉組合)等等。
用戶可以組合使用這些組件,也可以單獨使用其中一個。
其實就這么簡單,對某個事物的定義,個人感覺沒有什么固定的答案,只是那種答案更方便你的記憶,
你記住的,它存在你深深的腦海里的,便是答案!
分類 | 插件 |
---|---|
Base(基礎) |
|
Layout(布局) |
|
Menu(菜單)與 Button(按鈕) |
|
Form(表單) |
|
Window(窗口) |
|
DataGrid(數據網格)與 Tree(樹) |
|
但是今天咱們只針對Tree(樹)連接數據進行講解!
下面是它的一些基本的屬性:
id: 綁定到節點的標識值;
text:顯示文本;
iconCls: 顯示icon的css樣式;
checked: 節點是否選中;
state: 節點狀態, 'open' 或者 'closed';
attributes: 綁定到節點的自定義屬性;
target: 目標 DOM 對象;
children: 一個節點數組,定義一些子節點。
特性
名稱 |
類型 |
說明 |
默認值 |
url |
string |
獲取遠程數據的 URL 。 |
null |
method |
string |
獲取數據的 http method 。 |
post |
animate |
boolean |
定義當節點展開折疊時是否顯示動畫效果。 |
false |
checkbox |
boolean |
定義是否在每個節點前邊顯示 checkbox 。 |
false |
cascadeCheck |
boolean |
定義是否級聯檢查。 |
true |
onlyLeafCheck |
boolean |
定義是否只在葉節點前顯示 checkbox 。 |
false |
dnd |
boolean |
定義是否啟用拖放。 |
false |
data |
array |
加載的節點數據。 |
null |
事件
名稱 |
參數 |
說明 |
onClick |
node |
當用戶點擊一個節點時觸發, node 參數包含下列特性: id:節點的 id text:節點的文字 checked:節點是否被選中 attributes:節點自定義屬性 target:被點擊目標的 DOM 對象 |
onDblClick |
node |
當用戶雙擊一個節點時觸發。 |
onBeforeLoad |
node, param |
當加載數據的請求發出前觸發,返回 false 就取消加載動作。 |
onLoadSuccess |
node, data |
當數據加載成功時觸發。 |
onLoadError |
arguments |
當數據加載失敗時觸發, arguments 參數與 jQuery.ajax 的'error' 函數一樣。. |
onBeforeExpand |
node |
節點展開前觸發,返回 false 就取消展開動作。 |
onExpand |
node |
當節點展開時觸發。 |
onBeforeCollapse |
node |
節點折疊前觸發,返回 false 就取消折疊動作。 |
onCollapse |
node |
當節點折疊時觸發。 |
onCheck |
node, checked |
當用戶點擊 checkbox 時觸發。 |
onBeforeSelect |
node |
節點被選中前觸發,返回 false 就取消選擇動作。 |
onSelect |
node |
當節點被選中時觸發。 |
onContextMenu |
e, node |
當右鍵點擊節點時觸發。 |
onDrop |
target, source, point |
當節點被拖拽施放時觸發。 target:DOM 對象,拖放的目標節點。 source:源節點。 point:表示拖放操作,可能是值是: 'append'、'top' 或 'bottom'。 |
onBeforeEdit |
node |
編輯節點前觸發。 |
onAfterEdit |
node |
編輯節點后觸發。 |
onCancelEdit |
node |
當取消編輯動作時觸發。 |
方法
名稱 |
參數 |
說明 |
options |
none |
返回樹的 options。 |
loadData |
data |
加載樹的數據。 |
getNode |
target |
獲取指定的節點對象。 |
getData |
target |
獲取指定的節點數據,包括它的子節點。 |
reload |
target |
重新加載樹的數據。 |
getRoot |
none |
獲取根節點,返回節點對象。 |
getRoots |
none |
獲取根節點們,返回節點數組。 |
getParent |
target |
獲取父節點, target 參數指節點的 DOM 對象。 |
getChildren |
target |
獲取子節點, target 參數指節點的 DOM 對象。 |
getChecked |
none |
獲取所有選中的節點。 |
getSelected |
none |
獲取選中的節點並返回它,如果沒有選中節點,就返回 null。 |
isLeaf |
target |
把指定的節點定義成葉節點, target 參數表示節點的 DOM 對象。 |
find |
id |
找到指定的節點並返回此節點對象。 |
select |
target |
選中一個節點, target 參數表示節點的 DOM 對象。 |
check |
target |
把指定節點設置為勾選。 |
uncheck |
target |
把指定節點設置為未勾選。 |
collapse |
target |
折疊一個節點, target 參數表示節點的 DOM 對象。 |
expand |
target |
展開一個節點, target 參數表示節點的 DOM 對象。 |
collapseAll |
target |
折疊所有的節點們。 |
expandAll |
target |
展開所有的節點們。 |
expandTo |
target |
從指定節點的根部展開。 |
append |
param |
追加一些子節點們到一個父節點, param 參數有兩個特性: parent:DOM 對象,追加到的父節點,如果沒有分配,則追加為根節點。 data:數組,節點們的數據。 |
toggle |
target |
切換節點的展開/折疊狀態, target 參數表示節點的 DOM 對象。 |
insert |
param |
在指定節點的前邊或后邊插入一個節點, param 參數包含下列特性: before:DOM 對象,前邊插入的節點。 after:DOM 對象,后邊插入的節點。 data:對象,節點數據。 |
remove |
target |
移除一個節點和它的子節點們, target 參數表示節點的 DOM 對象。 |
pop |
target |
彈出一個節點和它的子節點們,此方法和 remove 一樣,但是返回了移除的節點數據。 |
update |
param |
跟心指定的節點, param 參數有下列特性: target(DOM 對象,被更新的節點)、id、text、iconCls、checked、等等。 |
enableDnd |
none |
啟用拖放功能。 |
disableDnd |
none |
禁用拖放功能。 |
beginEdit |
nodeEl |
開始編輯節點。 |
endEdit |
nodeEl |
結束編輯節點。 |
cancelEdit |
nodeEl |
取消編輯節點。 |
下面有具體的Demo給大家更直觀的理解!
既然咱們知道了JQuery Easy ui是什么了,那它到底怎么用那?
試想一下? 咱們怎么用的JQuery?不就是引用了它的JS庫嗎?
JQuery Easy ui也不例外,引用了它相關的JS庫,咱們便能駕馭它了。
切記:引用的順序不能顛倒,否則實現不了咱們想象的效果!
好了,下面就來看一下,引用JQuery Easy ui的js庫時,順序到底是怎樣的呢?
第二講:引用JQuery Easy ui的JS庫順序(凡事有先后)
引用順序如下:
1:首先引用JQuery的核心庫
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
2:引入 EasyUI 核心 UI 文件 CSS,我的jquery-easyui版本是1.2.6
<link rel="stylesheet" href="jquery-easyui-1.2.6/themes/default/easyui.css" type="text/css"/>
3:引入 EasyUI 圖標文件
<link rel="stylesheet" href="jquery-easyui-1.2.6/themes/icon.css" type="text/css"/>
4:引入 jQuery EasyUI 核心庫
<script type="text/javascript" src="jquery-easyui-1.2.6/jquery.easyui.min.js"></script>
5:咱們是偉大的中國人,所以要引入 EasyUI 中文提示信息 <script type="text/javascript" src="jquery-easyui-1.2.6/locale/easyui-lang-zh_CN.js"></script>
這個順序,不要顛倒啊!錯了,后果自負哦!親!
為了給大家一個更深刻的印象,咱們來寫一個例子,以便於大家更好的消化和理解!
咱們這個例子就以Tree(樹)來進行!
廢話不多說,直接上代碼#24 哈哈!!!! 我又笑了!
第三講:Tree(樹)(我的心情誰能懂?)
我的步驟,很詳細,希望同志們認真看,肯定都能看懂,看明白!謝謝!
第一步:創建一個MVC項目,具體實現看圖!
點擊確定后的效果圖如下:
點擊確定后的效果圖如下:
第二步:創建控制器和對應的試圖:
具體步驟看下圖:
點擊添加后的效果圖如下:
點擊添加后的效果圖如下:
點擊添加后的效果圖如下:
點擊添加后咱們的控制器和試圖就創建完畢了。
第三步:創建數據庫實體模型
同志們:咱們要實現和數據庫交互,首先數據庫得有吧。
咱們得在咱們的MVC項目中創建出數據庫的實體模型吧!
關於怎么創建數據庫,我在這里就不一一講解了,但是,又怕
有些同志不是很清楚,我就樂此不疲的再給大家截圖,
只要讀者有收獲,我的努力就沒白費!
知識本身就是用來分享的!
數據庫那邊的效果圖如下:
下面是數據表中的數據:
以上兩個圖片就是數據庫那邊的基本信息了,
同志們只需要知道,咱們已經有需要交互的數據庫就行了,
下面咱們開始來看看:
怎么才能與數據庫產生交互那?
怎么才能創建數據庫實體模型那?
具體實現看下圖:
點擊新建項后的效果圖如下:
點擊添加后的效果圖如下:
點擊下一步后的效果圖如下:
點擊新建連接后的效果圖如下:
溫馨提示:
不要點擊 服務器名 框中的↓ 按鈕,
我反正是一點就卡,在此提醒下同志們,
直接在框中輸入 . (點)就OK!
具體填寫如下圖:
點擊確定后的效果圖如下:
點擊下一步后的效果圖如下:
點擊下一步后的效果圖如下:
點擊完成后的效果圖如下:
對項目點擊右鍵,重新生成后,咱們的第三步就就完成了!
第四步:既然咱們學的是JQuery Easy Ui,所以咱們得把咱們下載好的JQuery Easy Ui移到項目中來
這個內容就不用我截圖了吧?就是復制粘貼!
算了,我還是有點不放心,還是截圖吧!#99
下載,我就不說了,我想同志們都會!
1:找到電腦中下載好的JQuery Easy Ui文件夾,復制
如下圖:
2:選中項目名稱,粘貼
如下圖:
第五步:進入控制器,書寫代碼
咱們剛才已經創建了數據庫的實體模型,但是,該怎么使用那?
首先咱們要找到數據庫數據模型的上下文,在哪里那?
在下圖中:
打開后的效果圖如下:
找到了deptEntities,咱們就可以開始寫代碼了!
希望同志們打起精神來了,上面雖然篇幅很多,但是沒多少干貨!
下面很重要,各位打起12分的精神!Go! Go!! Go!!!
控制器中的代碼如下:
以上就是控制器中的所有代碼了。您要是看不懂我也是醉了!!!
下面咱們再來寫一下View試圖中的代碼!
代碼如下:
上文的animate就是當展開或者折疊節點的時候,是否顯示效果!在這里重申一下,
怕有的同志忘記了!
好了,點擊運行,查看效果吧!!!
效果圖就出來了,終於快完成我的使命了!!!