Ich versuche, einer Google Charts-Tabelle einen CSS-Stil hinzuzufügen. Ich habe es versucht:

https://developers.google.com/chart/interactive/docs/gallery/table#customproperties

In der ersten Zelle (Mike), aber es hat nicht funktioniert. Ich habe allowHtml in der Optionsvariablen auf true gesetzt. Wie kann ich den Hintergrund, die Textfarbe usw. der einzelnen Zellen ändern? Danke dir.

<script type="text/javascript">
        google.load('visualization', '1', {packages:['table']});
        google.setOnLoadCallback(drawTable);
        function drawTable() {
            var data = new google.visualization.DataTable();
            data.addColumn('string', 'Employee Name');
            data.addColumn('date', 'Start Date');
            data.addRows(3);
            data.setCell(0, 0, 'Mike', {style: 'background-color:red;'});
            data.setCell(0, 1, new Date(2008, 1, 28));
            data.setCell(1, 0, 'Bob');
            data.setCell(1, 1, new Date(2007, 5, 1));
            data.setCell(2, 0, 'Alice');
            data.setCell(2, 1, new Date(2006, 7, 16));

            var options = {
                allowHtml: true
            };

            // Create a formatter.
            // This example uses object literal notation to define the options.
            var formatter = new google.visualization.DateFormat({formatType: 'long'});

            // Reformat our data.
            formatter.format(data, 1);

            // Draw our data
            var table = new google.visualization.Table(document.getElementById('dateformat_div'));
            table.draw(data, options);
        }
    </script>
17
carlosgg 9 Okt. 2012 im 02:46

3 Antworten

Beste Antwort

Wie kann ich den Hintergrund, die Textfarbe usw. der einzelnen Zellen ändern? Danke dir.

Per @ Bondyes Kommentar finden Sie die Antwort im Entwicklerhandbuch.

https://developers.google.com/chart/interactive/docs/examples#custom_table_example

Definieren Sie Stilregeln, die Ihren Kriterien entsprechen:

<style>
.orange-background {
   background-color: orange;
  }

 .orchid-background {
  background-color: orchid;
 }

.beige-background {
 background-color: beige;
  }
</style>

Wenden Sie sie beim Zeichnen auf den Tisch an.

var cssClassNames = {
'headerRow': 'italic-darkblue-font large-font bold-font',
'tableRow': '',
'oddTableRow': 'beige-background',
'selectedTableRow': 'orange-background large-font',
'hoverTableRow': '',
'headerCell': 'gold-border',
'tableCell': '',
'rowNumberCell': 'underline-blue-font'};

var options = {'showRowNumber': true, 'allowHtml': true, 'cssClassNames': cssClassNames};

var data = new google.visualization.DataTable();

//... add data here ...

var table = new google.visualization.Table(container);
table.draw(data, options);
13
J E Carter II 16 Juli 2014 im 14:00

Benutzerdefinierte Tabellenformatierung für war schwierig für mich:

  1. Es funktionierte nach dem Stil: .tableRow { background-color:rgb(246, 253, 253); }
  2. Es funktionierte auch mit Standard-CSS: tr:hover {background-color: ...;}
  3. Es funktionierte manchmal nur mit dem !important CSS-Schlüssel: background-color: rgba(141, 186, 238, 0.76) !important;

Hier ist mein Arbeitsprobe:

// Load the Visualization API and the controls package.
google.load('visualization', '1.0', { packages: ['table'] });

// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawDashboard);

// Callback that creates and populates a data table,
// instantiates a dashboard, a range slider and a pie chart,
// passes in the data and draws it.
function drawDashboard() {
  // Create our data table.
  var data = google.visualization.arrayToDataTable([
    ['Sex', 'Name', 'Donuts eaten', 'Html'],
    ['Male', 'Michael', 5, '<input type="checkbox" id="1" name="check">'],
    ['Female', 'Elisa', 7, '<input type="checkbox" id="2" name="check">'],
    ['Male', 'Robert', 3, '<input type="checkbox" id="3" name="check">'],
    ['Male', 'John', 2, '<input type="checkbox" id="4" name="check">'],
    ['Female', 'Jessica', 6, '<input type="checkbox" id="5" name="check">'],
    ['Male', 'Aaron', 1, '<input type="checkbox" id="6" name="check">'],
    ['Female', 'Margareth', 8, '<input type="checkbox" id="7" name="check">'],
  ]);
  var table = new google.visualization.Table(document.getElementById('table'));
     
  var options = 
  {
    allowHtml: true, 
    showRowNumber: true, 
    width: '100%', 
    height: '100%'
    ,
    cssClassNames: { 
      headerRow: 'headerRow',
      tableRow: 'tableRow',
      oddTableRow: 'oddTableRow',
      selectedTableRow: 'selectedTableRow',
      // hoverTableRow: 'hoverTableRow',
      headerCell: 'headerCell',
      tableCell: 'tableCell',
      rowNumberCell: 'rowNumberCell'
    }    

  };

  table.draw(data, options);
}
body
{
 font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}


/* Tables */
th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: left;
  background-color: rgb(83, 133, 180);
  border-color: rgb(151, 150, 168) !important;
  color: white;
}

.oddTableRow {
    background-color:rgb(232, 246, 247);
}

.tableRow { background-color:rgb(246, 253, 253); } 

tr:hover {background-color: rgba(233, 235, 154, 0.76) !important;}
.selectedTableRow {
    background-color: rgba(141, 186, 238, 0.76) !important;
}
<!doctype html>

<html>
  <head>
    <link rel="stylesheet" href="style.css">
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script src="script.js"></script>
  </head>
      
  <body>
    <h1>Google Charts. Custom HTML & CSS in table</h1>
    <div id="table"></div>
  </body>
</html>
1
Max Makhrov 11 Juli 2019 im 09:25

Für modernere Widgets und Diagramme können Sie benutzerdefiniertes CSS auf Google Charts anwenden. In diesem Repo finden Sie bereits implementierte Stile

https://github.com/weekdone/GoogleChartStyles

0
pedrofernandes 5 Apr. 2019 im 16:28