2012-07-17 58 views
0

我正在使用Google Visualization API編寫JavaScript網頁工具。我想要的功能之一是點擊一列,並有 - 沒有選項的選項。當選擇時,那個特定列將被隱藏。 我加入這個監聽器,這個功能隱藏的列:用javascript隱藏Google可視化列

/* Define a table */ 
    var table = new google.visualization.ChartWrapper({ 
     'chartType': 'Table', 
     'containerId': 'chart2', 
     'options': { 
     'sortColumn': '-1', 
     'allowHtml' : 'true', 
     }, 
     'style' : { 
      'white-space' : 'nowrap' 
     } 
    }); 

    google.visualization.events.addListener(table, 'select', 
      function(){ 
       var tablewrapper = table.getChart(); 
       //var columnId = tablewrapper.getColumnDescriptions(); 
       //console.log(tablewrapper); 
       /*var columnIndex = tablewrapper.getViewColumnIndex(); */ 
       var selection = tablewrapper.getSelection(); 
       for(var i = 0; i < selection.length; i++){ 
        var item = selection[i]; 
        console.log('{row:' + item.row + ',column:' + item.column + '}'); 
       } 

      } 
    ); 

function hideColumn(columnIndex){ 
     $('#chart2 td:nth-child(' + (columnIndex+1) + ')').hide(); 
     return; 
     } 

然而,ev沒有一個叫column屬性,它可能指的是列索引。有人知道我該怎麼做,如果我錯過了什麼? 謝謝!

回答

0

也許你需要一個Dataview?您可以使用hideColums()方法來隱藏指定的列。

底層DataTable的只讀視圖。 DataView允許僅選擇列和/或行的子集。它還允許 重新排列列/行,並複製列/行。

視圖是對基礎DataTable實況窗口,...

編輯 getSelection()將是一個更適合你的問題,我猜。

+0

RobIII,我的腳本隱藏列很有效。我只需要弄清楚如何獲得'columnIndex'。 – cybertextron 2012-07-17 21:42:17

+0

我注意到我錯過了你的帖子上的一些信息。我的錯。你看過調試器中的'ev'變量來看看它包含了什麼嗎?只是一個瘋狂的猜測;你不需要[getSelection()](https://developers.google.com/chart/interactive/docs/reference#visgetselection)? – RobIII 2012-07-17 21:51:15

+0

如何輸出'ev'來查看它包含的內容? – cybertextron 2012-07-17 21:52:36