2016-03-19 94 views
1

我正在使用JsTree Ajax延遲加載功能並顯示我正在使用的數據JsTree-grid。但是,我遇到了在第二列使用JsTree-grid顯示數據的問題。我有我使用了AJAX JsTree延遲加載功能通過PHP以下JSON數據:JsTree網格不顯示數據

[  
    { 
     "id": ​157749, 
     "parent": "Sheet1.worksheet1webs44lx8GbsHu9igMc2vM_qWJqhePuo257PKZm_6Uo", 
     "text": "Script 1: Login", 
     "data": { 
      "status": "Fail" 
     } 
    }, 
    { 
     "id": ​104511, 
     "parent": "Sheet1.worksheet1webs44lx8GbsHu9igMc2vM_qWJqhePuo257PKZm_6Uo", 
     "text": "skip", 
     "data": { 
      "status": "Pass" 
     } 
    } 
] 

在JavaScript我有下面的代碼:

$('#jstree').jstree({ 
    plugins: ['grid'], 
     'grid': { 
      'columns': [ 
       { 
        'width': 50, 
        'header': 'Nodes' 
       }, 
       { 
        'width': 30, 
        'header': 'Status', 
        'value': function (node) { 
         return (node.status); 
        } 
       } 
      ] 
     }, 
     'core' : { 
      'data' : { 
       "url" : function (node) { 
        return node.id === '#' ? 'node' : 'tree/' + node.id; 
       }, 
       'data' : function (node) { 
        return { 'id' : file.id, 'title' : file.title }; 
       }, 
       "dataType" : "json" 
      } 
     } 
    }); 

注意:當我安慰登錄這裏的節點:'value': function (node) { console.log(node); }我得到了控制檯上的以下結果:

Object { status: "Fail" } 
Object { status: "Pass" } 

我想顯示status通過在第二個JsTree網格列上失敗。但是,JsTree網格不顯示數據,我甚至沒有在控制檯上發現任何錯誤。請,有人可以幫我關於我想達到的目標。

回答

1

在這裏我看到兩個問題:

  1. "parent": "Sheet1.worksheet1webs44lx8GbsHu9igMc2vM_qWJqhePuo257PKZm_6Uo";你的json沒有這些節點的父母
  2. 你不需要這裏的功能 - 'value': function (node) { return (node.status); },只需使用'value': 'status'

解決了這兩個問題後,檢查演示 - Fiddle

+0

我對我的原始JSON數據有''parent':「Sheet1.worksheet1webs44lx8GbsHu9igMc2vM_qWJqhePuo257PKZm_6Uo」'JSON。爲了簡單起見,我只是從這裏刪除它。你是絕對正確的。沒有使用任何功能的JsTree網格工作得很好,我已經知道了昨天。但是,你知道爲什麼它不適用於封閉嗎? –