0

dynatreeの開発者によって提供された例を読みました。そのうちの1つは、ノードに「expand:true」を配置すると、最初から展開されて表示されることを示しています。SQLクエリを作成しました

Doctrine_Core::getTable('Folder')
              ->createQuery('f')
              ->select('slug as key, nombre as title,
                IF(id in ('.implode(',',$ancestors_id).'),true,false) as expand,
                true as isFolder,
                level');

返された配列をjson配列に変換します。

[
 {"id":"1","key":"qqwqeqwe","title":"qqwqeqwe","level":"0","expand":"true","isFolder":"1","children":
   [
     {"id":"2","key":"nombre-de-laaa","title":"nombre de laaa","level":"1","expand":"true","isFolder":"1","children":
          [
            {"id":"3","key":"tof","title":"TOF","level":"2","expand":"false","isFolder":"1","children":[]},
            {"id":"4","key":"dddd","title":"dddd","level":"2","expand":"true","isFolder":"1","children":[]}
          ]
     },
     {"id":"5","key":"ffffa","title":"ffffa","level":"1","expand":"false","isFolder":"1","children":[]}
   ]
 }
]

展開して表示したいノードとその祖先に「expand:true」を設定します。しかし、拡張されていません。
拡張したいノードにのみ「expand:true」を入れてみましたが、どちらも動作しません。私はexpand: "true"とexpand:trueでテストしました。文字列と論理の両方

私は何が間違っているのですか?

4

3 に答える 3

3

Expandはブール値である必要があるため、"expand":true代わりに試してください"expand":"true"

于 2011-09-10T09:07:27.470 に答える
2

onPostInit関数を使用して解決しました

onPostInit: function(isReloading, isError) {
  var node = $("#tree").dynatree("getTree").getNodeByKey(folder);

  node.visitParents (function (node) {
    node.toggleExpand();
  }, true);         
}

変数フォルダーには、表示したいノードのキーが展開されています。だから私はそれを木から得ます。そして私はそれとその親を拡張します

于 2011-09-10T03:18:26.440 に答える
0

自分で解決しましたが、おそらく他の人を助けることができます:id展開されたノードを取得するには、次のようにします

onQueryExpand: function(node) {
  var superId = arguments[1].data.key;
}

間違っていたら訂正してください...

于 2012-06-04T08:41:22.163 に答える