0

私は SQL データベースの視覚的表現を作成し、それを行うために Francois Zaninotto のCodeFlower (D3.js を利用) を使用しています。

私の質問は、クリックされたノードの親の名前変数にアクセスするにはどうすればよいですか? この質問はd3.js で親ノードのデータを取得する方法 に似ていることに気づきましたが、私の目的には答えが不明確に思えました。私もD3に比較的慣れていないので、それが理由かもしれません。

私のjsonコード形式:

{"name":"CRS_LOG_LEVEL","children":[{"name":"CRS_LOG","children":[{"name":"LOG_DESC","size":7,"type":"column"},{"name":"LOG_ID","size":7,"type":"column"},{"name":"LOG_TMSTMP","size":7,"type":"column"},{"name":"LOG_LEVEL_NBR","size":7,"type":"column"},{"name":"LOG_EVENT_CD","size":7,"type":"column"}],"size":100,"type":"table"}],"size":100,"type":"root"}

私のマウスクリックイベントリスナー:

CodeFlower.prototype.click = function(d) {
// Toggle children on click.
if (d.children) {  //This makes the node that has children collapse and grow in size.
    d._children = d.children;
    d.children = null;
} else {
    var schemaName;
    var tableName;
    var columnName;
    if(d.type==="column") //only check the parent information if type===column
    {
        columnName = d.name;
        //tableName = Parent's name
        //schemaName = Parent's Parent's name
    }
    d.children = d._children;
    d._children = null;
}
this.update();
};

^ 上記のコードは、この質問の冒頭で参照した GitHub プロジェクトの Francois の CodeFlower.js を少し変更したバージョンです。

4

2 に答える 2