2016-04-29 62 views
0

我有兩排圖表,需要在第一排圖表上點擊(selectetd一)後顯示第二圖表。我怎麼做到的?在點擊其他圖表後顯示排行圖(dc.js)

我無法添加js小提琴,因爲我從數據庫中獲取數據。

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){...})在第一個圖表上註冊事件處理程序。在該功能中,檢查是否顯示第二個圖表,如果不是,則執行您需要執行的操作來顯示它。

+0

謝謝Ethan !! – Addy1992

+0

我試過,但它顯示了我的第二個圖表即時點擊。對( '過濾',函數(圖表,過濾器) \t \t \t { \t \t \t TestCaseRow .WIDTH(1100) .height(filtered_groupTestCase之前。 。所有()長度* 18) .margins({頂部:5,左:10,右:10,下:20}) .dimension(TestCaseDim) 。集團(filtered_groupTestCase) .elasticX(真) \t \t \t .colors(ColorTest); \t \t \t \t \t \t}); - >我在這裏添加他從第二張圖表代碼是正確的? – Addy1992

+0

過濾的事件可能會在圖表設置時被調用。您需要在事件處理程序中測試是否適合設置所需的圖表。如果你把一個JSFiddle放在一起,有人可能會告訴你如何做到這一點。 –