// # C3 Table // _A simple data table example with that is selectable._ // ## Create the Data Table // Create a `c3.Table` object and set its options.Bind to an **anchor** DOM element using a _string selector_. var table = new c3.Table({ anchor: '#table_example', // Specify the **width** to set the anchor node.Setting the height and width is optional. width: 250, // The raw **data** to visualize. The data must be provided as an array. data: [0, 1, 2, 3, 4], // Only include data elements that are greater than 0 filter: (d) => d > 0, // Enable the user to **select** rows in this table. selectable: 'multi', // Create an array of **column ** objects to describe the table columns. columns: [ // The first column `header` is labeled "x". The `cells.text` callback describes // how to generate the text content for the cells based on the data. { header: { text: "x" }, cells: { text: (d) => d, styles: { color: 'darkblue' } }, value: (d) => d, vis: 'bar', total_value: 5, }, // Create a second column that displays the data value squared for each row. { header: { html: "x2" }, cells: { text: (d) => d * d }, value: (d) => d * d, }, // Create a third column that displays the negative data value for each row. { header: { text: "-x" }, cells: { text: (d) => -d }, value: (d) => -d, }, ], // Setup **event handler** to do something with the selection. // This could also have been added imperatively with `table.on('select', function(selections) { ... });` handlers: { 'select': function (selections) { (document.querySelector('#current_selection')).innerText = selections; } }, }); // Render the table! table.render(); // ## Set table selectability // Change the table selectability mode $('input[name=selectable]').on('change', function () { var value = $('input[name=selectable]:checked').val(); switch (value) { case 'true': table.selectable = true; break; case 'false': table.selectable = false; break; default: table.selectable = value; } table.render(); });