第二百二十八節,jQuery EasyUI,TreeGrid(樹形表格)組件


jQuery EasyUI,TreeGrid(樹形表格)組件

 

學習要點:

  1.加載方式

  2.屬性列表

  3.事件列表

  4.方法列表

 

本節課重點了解 EasyUI 中 TreeGrid(樹形表格)組件的使用方法,這個組件依賴於 DataGrid(數據表格)組件。

 

一.加載方式

建立一個 JSON 文件

[
  {
    "id": 1,
    "name": "系統管理",
    "date": "2015-05-10",
    "children": [
      {
        "id": 2,
        "name": "主機信息",
        "date": "2015-05-11"
      }
    ]
  },
  {
    "id": 3,
    "name": "會員管理",
    "date": "2015-05-10",
    "children": [
      {
        "id": 4,
        "name": "認證審核",
        "date": "2015-05-11"
      }
    ]
  }
]

class 加載方式

<table class="easyui-treegrid" style="width:380px;height:150px"
       data-options="url:'property.json',idField:'id',treeField:'name'">
    <thead>
    <tr>
        <th data-options="field:'name',width:180">菜單名稱</th>
        <th data-options="field:'date',width:180">創建時間</th>
    </tr>
    </thead>
</table>

 

JS 加載方式

treegrid()將一個table元素執行TreeGrid(樹形表格)組件

<table id="box" style="width:380px;height:150px;"></table>
$(function () {
    $('#box').treegrid({
        url: 'property.json',
        idField: 'id',            //定義關鍵字段來標識樹節點。也就是數據的id
        treeField: 'name',        //定義樹形顯示字段
        columns: [[                //定義表格頭名稱
            {
                title: '菜單名稱',
                field: 'name',
                width: 180,
            },
            {
                title: '創建時間',
                field: 'date',
                width: 180,
            }
        ]],
    });
});

 

二.屬性列表

樹形表格擴展自 datagrid(數據表格),樹形表格新增的屬性如下:

方法和 DataGrid 一致,不在重復!略。

idField   string 定義關鍵字段來標識樹節點。(必須的)

 

treeField   string 定義樹節點字段。(必須的)

 

animate   boolean 定義在節點展開或折疊的時候是否顯示動畫效果。

 

loader   function(param,success,error)定義以何種方式從遠程服務器讀取數據。返回false 可以忽略該動作。該函數具有一下參數:param:傳遞到遠程服務器的參數對象。success(data):當檢索數據成功的時候調用的回調函數。error():當檢索數據失敗的時候調用的回調函數。

 

loadFilter   function(data,parentId) 返回過濾后的數據進行展示。

方法和 DataGrid 一致,不在重復!略。

 

 

三.事件列表

樹形表格的事件擴展自 datagrid(數據表格),樹形表格新增的時間如下:

 事件和 DataGrid 基本一致,代碼演示忽略。

 

onClickRow   row 在用戶點擊節點的時候觸發。

 

onDblClickRow   row 在用戶雙擊節點的時候觸發。

 

onClickCell   field,row 在用戶點擊單元格的時候觸發。

 

onDblClickCell   field,row 在用戶雙擊單元格的時候觸發。

 

onBeforeLoad   row, param在請求數據加載之前觸發,返回 false可以取消加載動作。

 

onLoadSuccess   row, data 數據加載完成之后觸發。

 

onLoadError   arguments數據加載失敗的時候觸發,參數和jQuery 的$.ajax()函數的'error'回調函數一樣。

 

onBeforeExpand   row在節點展開之前觸發,返回 false 可以取消展開節點的動作。

 

onExpand   row 在節點被展開的時候觸發。

 

onBeforeCollapse   row在節點折疊之前觸發,返回 false 可以取消折疊節點的動作。

 

onCollapse   row 在節點被折疊的時候觸發。

 

onContextMenu   e, row 在右鍵點擊節點的時候觸發。

 

onBeforeEdit   row 在用戶開始編輯節點的時候觸發。

 

onAfterEdit   row,changes 在用戶完成編輯的時候觸發。

 

onCancelEdit   row 在用戶取消編輯節點的時候觸發。

 

 事件和 DataGrid 基本一致,代碼演示忽略。

 

 

四.方法列表

很多方法都使用'id'命名參數,而'id'參數代表樹節點的值。

方法和 DataGrid 一致,代碼演示忽略。

options   none 返回樹形表格的屬性。

 

resize   options設置樹形表格大小,options 包含 2 個屬性:width:樹形表格的新寬度。height:樹形表格的新高度。

 

fixRowHeight   id 修正指定的行高。

 

load   param 讀取並顯示首頁內容。

 

loadData   data 讀取樹形表格數據。

 

reload   id重新加載樹形表格數據。如果'id'屬性有值,將重新載入指定樹形行,否則重新載入所有行。

 

reloadFooter   footer 重新載入頁腳數據。

 

getData   none 獲取載入數據。

 

getFooterRows   none 獲取頁腳數據。

 

getRoot   none 獲取根節點,返回節點對象。

 

getRoots   none 獲取所有根節點,返回節點數組。

 

getParent   id 獲取父節點。

 

getChildren   id 獲取子節點。

 

getSelected   none獲取選擇的節點並返回它,如果沒有節點被選中則返回 null。

 

getSelections   none 獲取所有選擇的節點。

 

getLevel   id 獲取指定節點等級。

 

find   id 查找指定節點並返回節點數據。

 

select   id 選擇一個節點。

 

unselect   id 反選一個節點。

 

selectAll   none 選擇所有節點。

 

unselectAll   none 反選所有節點。

 

collapse   id 折疊一個節點。

 

expand   id 展開一個節點。

 

collapseAll   id 折疊所有節點。

 

expandAll   id 展開所有節點。

 

expandTo   id 打開從根節點到指定節點之間的所有節點。

 

toggle   id 節點展開/折疊狀態觸發器。

 

append   param追加節點到一個父節點,'param'參數包含如下屬性:parent:父節點 ID,如果未指定則追加到根節點。data:數組,節點數據。

 

insert   param插入一個新節點到指定節點。'param'參數包含一下參數:before:插入指定節點 ID 值之前。after:插入指定節點 ID 值之后。data:新節點數據。

 

remove   id 移除一個節點和他的所有子節點。

 

pop   id 彈出並返回節點數據以及它的子節點之后刪除。

 

refresh   id 刷新指定節點。

 

update   param更新指定節點。'param'參數包含以下屬性:id:要更新的節點的 ID。row:新的行數據。

 

beginEdit   id 開始編輯一個節點。

 

endEdit   id 結束編輯一個節點。

 

cancelEdit   id 取消編輯一個節點。

 

getEditors   id獲取指定行編輯器。每個編輯器都包含以下屬性:actions:編輯器執行的動作。target:目標編輯器的 jQuery 對象。field:字段名稱。type:編輯器類型。

 

getEditor   param獲取指定編輯器,'param'參數包含 2 個屬性:id:行節點 ID。field:字段名稱。

 

 方法和 DataGrid 一致,代碼演示忽略。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM