Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Confronto data

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    Confronto data

    ciao a tutti,

    popolo il mio DataGrid cosi:
    codice:
    // Preparo i DataGrid
    import mx.controls.gridclasses.DataGridColumn;
    risReparti.addColumn(new DataGridColumn("ID"));
    risReparti.addColumn(new DataGridColumn("Reparto"));
    risReparti.addColumn(new DataGridColumn("Categoria"));
    risReparti.addColumn(new DataGridColumn("Codice"));
    risReparti.addColumn(new DataGridColumn("Prodotto"));
    risReparti.addColumn(new DataGridColumn("PZ"));
    risReparti.addColumn(new DataGridColumn("Data"));
    
    
    risReparti.getColumnAt(0).width = 30;
    risReparti.getColumnAt(1).width = 100;
    risReparti.getColumnAt(2).width = 100;
    risReparti.getColumnAt(3).width = 60;
    risReparti.getColumnAt(4).width = 150;
    risReparti.getColumnAt(5).width = 60;
    risReparti.getColumnAt(6).width = 300;
    // Carico i Reparti
    listaRepartoB = new LoadVars();
    listaRepartoB.onLoad = function() {
        var myArray:Array = new Array();
        for (i=1; i<=this.totale; i++) {
            myArray[i] = new Object();
            myArray[i]["nID"] = _root.listaRepartoB["IDProdotto"+i];
            myArray[i]["ncodProdotto"] = _root.listaRepartoB["codProdotto"+i];
            myArray[i]["nNomeProdotto"] = _root.listaRepartoB["NomeProdotto"+i];
            myArray[i]["nIDBar"] = _root.listaRepartoB["IDBar"+i];
            myArray[i]["nbar"] = _root.listaRepartoB["bar"+i];
            myArray[i]["nquantitB"] = _root.listaRepartoB["quantitB"+i];
            myArray[i]["nCategoria"] = _root.listaRepartoB["Categoria"+i];
            myArray[i]["ndataodiernaB"] = _root.listaRepartoB["dataodiernaB"+i];
            myArray[i]["ngestore"] = _root.listaRepartoB["gestore"+i];
            myArray[i]["nscarico"] = _root.listaRepartoB["scarico"+i];
            myArray[i]["ndatascarico"] = _root.listaRepartoB["datascarico"+i];
            // Assegno al DataGrid
            risReparti.addItem({ID:myArray[i]["nID"], Reparto:myArray[i]["nbar"], Categoria:myArray[i]["nCategoria"], Codice:myArray[i]["ncodProdotto"], Prodotto:myArray[i]["nNomeProdotto"], PZ:myArray[i]["nquantitB"], Data:myArray[i]["ndataodiernaB"]});
        }
    };
    listaRepartoB.load(_global.pathfile+"search/listaRepartiB.php");


    come si può vedere dello stesso codice ci sono tre risultati mentre io vorrei che inserisse solo quello con la data più recente chiaramente a parità di data dovrebbe verificare l'ora,
    quindi nel caso dell'immagine l'id 1 e 2 non dovrebbero comparire

    è possibile fare ciò??

    Grazie mille :master:

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Dato che probabilmente queste informazioni vengono da database, non ti conviene fare un select distinct a monte, scegliendo solo i record con la data più recente?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    si infatti sto cercando di risolvere cosi,

    una cosina, guarda l'immagine


    ho due colonne PZ e Residuo
    al click su una riga faccio il conto come puoi vedere mi restituisce la quantità venduta e la percentuale

    il codice è questo:
    codice:
    // Presione di una cella del DataGrid
    var myListener = new Object();
    myListener.change = function(event) {
        // Prendo ID del prodotto dal Datagrid
        var idmagc = event.target.selectedItem.ID;
        // Prendo il reparto del prodotto dal Datagrid
        var rep = event.target.selectedItem.Reparto;
        // Prendo la categoria del prodotto dal Datagrid
        var catP = event.target.selectedItem.Categoria;
        // Prendo il codice prodotto dal Datagrid
        var codice = event.target.selectedItem.Codice;
        // Prendo nome del prodotto dal Datagrid
        var nomP = event.target.selectedItem.Prodotto;
        // Prendo i pezzi disponibili del prodotto dal Datagrid
        var qu = event.target.selectedItem.PZ;
        // Prendo la data di assegnazione del prodotto dal Datagrid
        var dat= event.target.selectedItem.Data;
        // Prendo i pezzi scaricati dal prodotto dal Datagrid
        var re = event.target.selectedItem.Residuo;
        // Prendo la data di scarico dal prodotto dal Datagrid
        var dsc = event.target.selectedItem.il;
        // Calcolo il venduto
        venduto = Number(qu) - Number(re);
        percentuale = Math.round(Number(venduto) * 100) / Number(qu);
        riepProdotto.text = "Sono stati venduti "+venduto+" pezzi del prodotto "+nomP+" pari ad una percentuale del "+percentuale+"%";
    };
    risReparti.addEventListener("change", myListener);
    Quello che non riesco a fare è una variabile di testo dinamico che mi restituisce qual'è il più venduto tra tutti i prodotti, praticamente dopo che ha caricato tutti i prodotti nel dataGrid dovrebbe scrivere in una variabile di testo dinamico il prodotto Red Bull è il più venduto e la sua percentuale rispetto a tutti gli altri

    E' possibile farlo?? devo usare onLoad come evento e fare un ciclo sulle celle??
    mi dai un'input

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    La procedura:

    - crei un array
    - man mano che popoli il datagrid, fai il calcolo sull'item e metti nell'array un oggetto con riferimento all'elemento del datagrid e la percentuale
    - ordini con sort(Array.NUMERIC) l'array
    - prendi il primo elemento

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ok provo poi ti faccio sapere

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.