1

デモからほぼそのまま次のコードがあります。

$("#treetable").fancytree({
extensions: ["table"],
table: {
indentation: 20,  // indent 20px per node level
nodeColumnIdx: 0  // render the node title into the 1st column
},
source: {url: "productTree.json"},
rendercolumns: function(e, data) {
var node = data.node,
$tdList = $(node.tr).find(">td");
// (index #0 is rendered by fancytree - see above)
$tdList.eq(1).text(node.modeldet);
$tdList.eq(2).text(node.key);
$tdList.eq(3).text(node.inclusion);
 }
});

これが JSON です。

[
{"title": "All Products", "key": "*", "folder": true, "children": [
    {"title": "Smart Product 1", "key": "Smart", "inclusion": "Mandatory", "folder": true, "children": [
        {"title": "Simple A", "key": "One Time Fee", "modeldet": "0-50 Units"},
        {"title": "Simple B", "key": "Per Unit or Metered Usage", "modeldet": "More than 50 Units"}
    ]},
    {"title": "Simple A", "key": "One Time Fee", "inclusion": "Mandatory"},
    {"title": "Simple B", "key": "Per Unit or Metered Usage", "inclusion": "Mandatory"},
    {"title": "Simple C", "key": "Reservation", "inclusion": "Optional", "extraClasses": "my-extra-class" },
    {"title": "Simple D", "key": "Service or Recurring Fee", "inclusion": "Optional", "extraClasses": "my-extra-class" }
]}  
]

ツリーはレンダリングされますが、データを含む列は「タイトル」と「キー」のみです。他は空白です。

4

1 に答える 1

0

ほとんどのカスタム ノード データは、競合を避けるために別の名前空間に格納されます。代わりに「node.data.modeldet」としてアクセスしてみてください。

于 2013-07-23T14:34:43.920 に答える