Visualizzazione dei risultati da 1 a 2 su 2

Hybrid View

  1. #1

    aggiungere una colonna di dati ad una tabella

    Ciao,

    qui creo una tabella con dati presi da "runs#data". "runs#data" ha 3 campi.
    Adesso dovrei aggiungere alla tabella un quarto campo, definirle un titolo thead e poi i valori body come field4 = field1-field2
    Come posso fare?
    Grazie

    codice:
    var runs = {}; //  hold the table
    runs.data_container = d3.select("div#Runs_Data")
        .classed("row", true);
    runs.table = runs.data_container.append("div")
        .classed("col-xs-12", true)
        .append("table")
    
    
    data = d3.csv.parse(d3.select("runs#data").text());
    
    
    runs.labels = d3.keys(data[0]); 
    runs.header = runs.table.append("thead") 
    runs.headers = runs.header.append("tr") 
        .selectAll("th")
        .data(runs.labels).enter()
        .append("th")
        .text(function(d){
              return d;
                })
    .attr("data-sortable",true)
    .attr("data-field",function(d){
                  return d;
                    })
    
    
        runs.table.attr({ 
                     "data-sort-name":  runs.labels[0],
             "data-sort-order": "asc",
             "data-striped":    true
                   });
    
    
    rows = runs.table
                   .append("tbody")
                   .selectAll("tr")
            .data(data)                           
            .enter()                                 
            .append("tr")
    
    
    cells = rows.selectAll("td")
                .data(function(row){
                  return runs.labels.map(function(d){
                    return row[d];
                                          });
                              })
                .enter()
                .append("td")
                .text(function(d){
                  return d;
                             })
    
    
    $(runs.table.node()).bootstrapTable()

  2. #2
    Ciao Giammy, ... hai provato l'append della colonna alle riga della tabella? ... nella funzione che assegna il text, prendi i valori delle colonne field1 e field2 dell' i-esima riga e calcoli il valore da ritornare nella nuova colonna.

    codice:
    /** ... AGGIUNTA HEADER NUOVA COLONNA */  
    var nuovaInt = header.append("th")
        .text('field_4');
    
    /** ... AGGIUNTA NUOVA COLONNA (PER TUTTE LE RIGHE DELLA TABELLA)*/  
    var nuovaCol = table.selectAll("tr").append("td")
        .text( function (d) { 
                              /** ... RIGA CORRENTE (this = NUOVA COLONNA) */ 
                              var rigaCorrente = d3.select( this.parentNode ); 
                                      
                              /** ... COLONNE DELLA RIGA CORRENTE */
                              var colonne      = rigaCorrente.selectAll("td");
                                      
                              /** ... GET VALORI COLONNE ... E CALCOLO NUOVA COLONNA */ 
                              var field_1      = parseFloat( colonne[0][0].innerHTML );
                              var field_2      = parseFloat( colonne[0][1].innerHTML );
                              var field_4      = (field_1 - field_2);    
                                      
                              return field_4;
                            });

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.