2016-04-29 10 views
0

2つの行グラフがあり、最初の行グラフで(selectetd1)をクリックした後に2番目のグラフを表示する必要があります。どうすればいい?他のグラフ(dc.js)をクリックした後に行グラフを表示

データベースからデータを取得しているため、js fiddleを追加できません。

var TestCaseRow = dc.rowChart("#TestCaserowchart"); 
var TestCaseDim = perfData.dimension(function (d) { 
    return d.TestCase; 
}); 
var clickGroup = TestCaseDim.group().reduceCount(function (d) { 
    return d.x; 
});   
var filtered_groupTestCase = remove_empty_bins(clickGroup); 

TestCaseRow 
    .width(1100) 
    .height(filtered_groupTestCase.all().length*18) 
    .margins({ top: 5, left: 10, right: 10, bottom: 20 }) 
    .dimension(TestCaseDim) 
    .group(filtered_groupTestCase) 
    .elasticX(true); 

//my other row chart 
var testscriptRow = dc.rowChart("#testscriptrowchart"); 
var testscriptDim = perfData.dimension(function (d) { 
    return d.TestScript; 
}); 

var ClickTestscriptGroup = testscriptDim.group().reduceCount(function (d) { 
    return d.x; 
}); 
var filtered_groupTestScript = remove_empty_bins(ClickTestscriptGroup); 
testscriptRow 
    .width(1100) 
    .height(filtered_groupTestScript.all().length*40) 
    .margins({ top: 5, left: 10, right: 10, bottom: 20 }) 
    .dimension(testscriptDim) 
    .group(filtered_groupTestScript) 
    .elasticX(true); 

答えて

2

.on('filtered', function(chart, filter){...})との最初のチャート上のイベントハンドラを登録します。その関数内で、2番目のグラフが表示されているかどうかをチェックし、2番目のグラフが表示されていない場合は、それを表示するために必要な処理を行います。

+0

ありがとうございました! – Addy1992

+0

私はこれを試してみましたが、私は( 'フィルター'、機能(チャート、フィルタ) \t \t \t { \t \t \t TestCaseRow .width(1100) .height(filtered_groupTestCaseを.onクリックてる前に、それは私の第二のグラフを示しています。すべての()長さ* 18) .margins({トップ5は、左:10、右:10、底:20}) .dimension(TestCaseDim) .group(filtered_groupTestCase) .elasticX(真) \t \t \t .colors(ColorTest); \t \t \t \t \t \t}); - >私はここに追加しました。彼は2番目のチャートのコードはこれが正しいのですか? – Addy1992

+0

フィルタリングされたイベントは、チャートが設定されているときに呼び出されることがあります。イベントハンドラで、必要なチャートを設定するのが適切なタイミングであることをテストする必要があります。 JSFiddleをまとめると、誰かがこれを行う方法を正確に示すことができるでしょう。 –

関連する問題