2014-01-21 72 views
0

進一個DataTable我有這樣的代碼:從數據庫的ScriptDb

var db = dbUtenti.getDb(); // 
var results = db.query({TipoRecord: 'Utenti'}); 
var dataSource = [["Codice", "Nome","Cognome","Data nascita", "email", "telefono"]]; 
var dataRow = []; 

     while (results.hasNext()) { 
var result = results.next(); 
    dataRow[0] = result.IdUtente; 
    dataRow[1] = result.Cognome; 
    dataRow[2] = result.Nome; 
    dataRow[3] = result.DataNas; 
    dataRow[4] = result.EmailUtente; 
    dataRow[5] = result.Telefono; 

    dataSource.push(dataRow.slice()); 
    } 

    var dataRange = Charts.newDataTable() 
     .addColumn(Charts.ColumnType.STRING, dataSource [0] [0]) 
     .addColumn(Charts.ColumnType.STRING, dataSource [0] [1]) 
     .addColumn(Charts.ColumnType.STRING, dataSource [0] [2]) 
     .addColumn(Charts.ColumnType.NUMBER, dataSource [0] [3]) 
     .addColumn(Charts.ColumnType.STRING, dataSource [0] [4]) 
     .addColumn(Charts.ColumnType.STRING, dataSource [0] [5]) 

    for (i=1;i<=dataSource.length;i++){ 
      dataRange.addRow([dataSource [i] [0], dataSource [i] [1], dataSource [i] [2], dataSource [i] [3], dataSource [i] [4], dataSource [i] [5]]) 
     .build(); 
      }; 

,但我得到就行了一個錯誤。 「.build()」 這是錯誤:「未能從undefined讀取屬性」0「

我在哪裏錯了? 謝謝你的幫助。

拉菲爾

+0

我認爲數據源數組中有一些錯誤,它是數組內部的數組。 – Innovation

+0

它應該是var dataSource = [「Codice」,「Nome」,「Cognome」,「Data nascita」,「email」,「telefono」]; – Innovation

回答

0

變化從下面 代碼:

for (i=1;i<=dataSource.length;i++){ 
      dataRange.addRow([dataSource [i] [0], dataSource [i] [1], dataSource [i] [2], dataSource [i] [3], dataSource [i] [4], dataSource [i] [5]]) 
    .build(); 
      }; 

到:

for (i=0;i<dataSource.length;i++){ 
      dataRange.addRow([dataSource [i] [0], dataSource [i] [1], dataSource [i] [2], dataSource [i] [3], dataSource [i] [4], dataSource [i] [5]]) 
    .build(); 
      }; 

這是發生,因爲你迭代的向量長度,檢查的條件。