2012-08-02 6 views
6

Actualmente estoy trabajando con las tablas de gráficos de Google. Tengo un problema con las selecciones. Quiero desactivar las selecciones, pero parece ser imposible. Incluso probé (una manera realmente fea) como un detector de eventos en la parte seleccionada que usa el método clearChart() para eliminar esto.Google Chart Table Eliminar la selección

Aquí está el código sourche de prueba. Tenga en cuenta que no puedo usar esto en jsFiddle

<script type="text/javascript" src="https://www.google.com/jsapi" ></script> 
<script type="text/javascript"> 
google.load("jquery", "1"); 

google.load('visualization', '1', {packages:['table']}); 

    function drawVisualization() 
    { 
      var data = google.visualization.arrayToDataTable([ 
      ['', 'Name', 'E-mail', 'Activated', 'Last login'], 
      ['<input type="checkbox">', 'name1', '[email protected]', true, '20-07-2012'], 
      ['<input type="checkbox">', 'name2', '[email protected]', true, '21-07-2012'] 

       ]); 

       var options = {}; 
       options['showRowNumber'] = false; 
       options['page'] = 'enable'; 
       options['allowHtml'] = true; 
       options['pageSize'] = 18; 
       options['pagingButtonsConfiguration'] = 'auto'; 

       var visualization = new google.visualization.Table(document.getElementById('table')); 
       visualization.draw(data, options); 
      } 

      google.setOnLoadCallback(drawVisualization); 

</script> 
<div id="table"></div> 

El problema es que si utilizo estas casillas de verificación de la selección (azul) anoying y confuso.

Gracias.

Respuesta

11

Otra opción es restablecer la selección cuando se dispara el evento "seleccionar":

google.visualization.events.addListener(visualization, 'select', selectHandler); 

function selectHandler() { 
    visualization.setSelection([]) 
} 

He aquí un ejemplo: http://jsfiddle.net/Rxnty/

Esto elimina inmediatamente la selección sin necesidad de volver a dibujar.

+0

Gracias, esta parece ser la "mejor" manera de hacerlo. Es una pena que en Google no se pueda deshabilitar en lugar de anular! –

2

Una forma de lograr el efecto que desea es decirle a la API qué clase se debe aplicar cuando se seleccione la fila, lo que le permite seguir especificando el background-color de la fila.

JS:

options['cssClassNames'] = {} 
options['cssClassNames']['selectedTableRow'] = 'selected'; 

CSS:

.selected { background-color: white; } 

Se puede ver trabajando en jsfiddle.

+0

Eso es más feo que mi opción. Agregue estilo para eliminar el estilo agregado .... –

+0

Si bien puede no ser una solución ideal (en lugar de fea), simplemente le da una forma de anular los estilos predeterminados de Google. – cchana

+0

¿No hay una manera de evitar en lugar de anular? –

Cuestiones relacionadas