2016-04-29 4 views
0

У меня есть две диаграммы строк и вам нужно показать 2-й график после того, как я нажал (selectetd one) на первой диаграмме строк. как я могу это сделать?показать таблицу строк после щелчка на другом графике (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

спасибо Итан !! – Addy1992

+0

Я попробовал это, но это показывает мой 2-й график, прежде чем я буду нажав .он ('фильтруется', функция (график, фильтр) \t \t \t { \t \t \t TestCaseRow .width (1100) .height (filtered_groupTestCase. . все() длина * 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, кто-то, вероятно, сможет показать вам, как это сделать. –