Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    agli inizi.. con datagrid...

    myDataGrid.dataProvider = recordSetInstance;

    myDP = new Array({name:"Chris", price:"Priceless"}, {name:"Nigel", price:"Cheap"}, {name:"Chris", price:"Priceless"}, {name:"Nigel", price:"Cheap"});
    myDataGrid.dataProvider = myDP;


    Questo cod. mi visualizza correttamente i dati nel datagrid di esempio ma...

    se volessi direttamente importare i dati da un origine diversa quale un file txt o xls ad esempio come devo fare??? es... originedati.xls

    Ho provato a trovare il modo sulla guida ma nisba...

    GRAZIE a chi mi vorrà illuminare su questo (nuovo per me) affascinante argomento!


  2. #2
    ciao io faccio cosi':
    crea una pagina asp che estrae valori e li formatta in XML e chiamala dati_xml.asp
    codice:
    <%
    response.ContentType = "text/xml"
    Const adOpenKeyset = 1
    Const adLockReadOnly = 1
    oggi="10/08/2007" 'Date()
    
    
    ' Stringa di Connessione al Data Base 
    
    StrConnessione = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("TUODB.mdb ")
    Set Conn = Server.CreateObject("ADODB.Connection") 
    Conn.Open StrConnessione
    ' Selezioni dalla tabella i dati ordinati per id in modo crescente
    SQL="SELECT * FROM TUA TABELLA "
    ' Creo il RECORD SET che contiene tutti i dati selezionati dal Data base
    Set rs = Server.CreateObject("ADODB.RecordSet")
    rs.Open SQL, Conn, adOpenKeyset,adLockReadOnly
    
    ' Eseguo un ciclo su tutti i dati del Recod set presenti in quella pagina e creo il documento XML in output con i vari TAG
    
    Response.Write "<elenco>"
    Do while not rs.eof
    'SOSTITUISCI INOMI DEI CAMPI CON I TUOI
    Response.Write "<item COD='"& rs("CODICE") &"' IERI='" & rs("CODICE ARCO IERI") & "'  OGGI='"& rs("CODICE ARCO OGGI") &"' DATA_VAR='"& rs("DATA VARIAZIONE") &"'></item>"
    rs.movenext
    
    Loop
    
    'aggiungo al documento XML un nodo che contiene il numero totale di record 
    response.write "<TOTALE>"& rs.recordcount &"</TOTALE>"
    Response.Write "</elenco>"
    
    ' libero le risorse
    
    rs.close
    set rs=nothing
    Conn.Close
    set Conn=nothing
    %>
    in flash con il componente datagrid sullo stage istanziato ad esempio "datagrid":
    ovviamente modifica i nomi dei campi delle colonne
    codice:
    stop();
    import mx.controls.gridclasses.DataGridColumn;
    //inizializza header
    
    var columns = [
    {label:"Nome", width:100},
    {label:"Descrizione", width:250},
    {label:"Tipo", width:50},
    {label:"Applicazione", width:100},
    {label:"View", width:50},
    {label:"Scarica", width:60},
    {label:"Data", width:80}
    ];
    for(var i = 0; i < columns.length; i++)
    {
    var column = new DataGridColumn(columns[i].label);
    column.width = columns[i].width;
    datagrid.addColumn(column);
    }
    
    var item = "";
    var tot = 0;
    var path = this;
    dati_xml = new XML();
    dati_xml.ignoreWhite = true;
    dati_xml.onLoad = function(success)
    {
    path.datagrid.removeAll();
    if (success) {
    var nodes = this.firstChild.childNodes;
    tot = nodes.length;
    path.datagrid.dataProvider = nodes;
    path.datagrid.setSelectedIndex(0);
    } else {
    path.datagrid.setEnabled(false);
    }
    };
    dati_xml.load("dati_xml.asp");
    -Nextart.it Graphic Solutions

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    grazie ma siccome non sono molto pratico.. di asp...

    al posto di ...


    dati_xml.load("dati_xml.asp");


    posso mettere

    dati_xml.load("dati_xml.php"); ???

    o


    dati_xml.load("dati_xml.txt"); ???


    e questi ultimi due file che struttura debbono avere?

    GRAZIE


  4. #4
    penso di si, php non lo conosco....

    comunque l'output php e/o il txt devono essere nella forma

    codice:
    <elenco>
    <item numero="50423" cod_ieri="PF50423" data="0"></item>
    <item numero="2"  cod_ieri="PF50423" data="0"></item>
    <item numero="3"  cod_ieri="PF50423" data="0"></item>
    </elenco>

    -Nextart.it Graphic Solutions

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    ho provato a mettere

    nel file txt sorgente.. il contenuto

    <elenco>
    <item numero="50423" cod_ieri="PF50423" data="0"></item>
    <item numero="2" cod_ieri="PF50423" data="0"></item>
    <item numero="3" cod_ieri="PF50423" data="0"></item>
    </elenco>

    come da te suggeritomi ma..
    .... facendo
    PROVA FILMATO non mi carica nulla...

    o il datagrid funziona solo sotto webserver locale e quindi con esclusivo caricamento di pagine dinamiche tipo asp o php appunto?

    GRAZIE da un neofitissimo datagriddiano

  6. #6

    Re: ho provato a mettere

    Originariamente inviato da freetom
    nel file txt sorgente.. il contenuto

    <elenco>
    <item numero="50423" cod_ieri="PF50423" data="0"></item>
    <item numero="2" cod_ieri="PF50423" data="0"></item>
    <item numero="3" cod_ieri="PF50423" data="0"></item>
    </elenco>

    come da te suggeritomi ma..
    .... facendo
    PROVA FILMATO non mi carica nulla...

    o il datagrid funziona solo sotto webserver locale e quindi con esclusivo caricamento di pagine dinamiche tipo asp o php appunto?

    GRAZIE da un neofitissimo datagriddiano
    quewsto tipo di output va bene solo x xml
    prova a salvare il tuo file txt come xml e nel flash carichi il file xml dovrebbe fungere
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  7. #7
    crescenzo ha ragione. se devi caricare da un file estensione XML
    file dati.xml
    codice:
    <elenco>
    <item numero="50423" cod_ieri="PF50423" data="1"></item>
    <item numero="2"  cod_ieri="PF50423" data="4"></item>
    <item numero="3"  cod_ieri="PF50423" data="5"></item>
    </elenco>
    AS
    codice:
    stop();
    import mx.controls.gridclasses.DataGridColumn;
    //inizializza header
    
    var columns = [
    {label:"numero", width:100},
    {label:"cod_ieri", width:250},
    {label:"data", width:50}
    ];
    for(var i = 0; i < columns.length; i++)
    {
    var column = new DataGridColumn(columns[i].label);
    column.width = columns[i].width;
    datagrid.addColumn(column);
    }
    
    var item = "";
    var tot = 0;
    var path = this;
    dati_xml = new XML();
    dati_xml.ignoreWhite = true;
    dati_xml.onLoad = function(success)
    {
    path.datagrid.removeAll();
    if (success) {
    var nodes = this.firstChild.childNodes;
    tot = nodes.length;
    path.datagrid.dataProvider = nodes;
    path.datagrid.setSelectedIndex(0);
    } else {
    path.datagrid.setEnabled(false);
    }
    };
    dati_xml.load("dati.xml");

    per il file di testo ovviamente la sintassi del caricamento e' differente.
    il file di testo deve essere cosi':

    file dati.txt
    codice:
    newsdata=50423|PF50423|356609962|10/08/2007||03617|179286|836675904|10/08/2007||
    il simbolo "|" identifica la fine del contenuto della cella
    il simbolo "||" identifica la fine della riga

    AS
    datagrid sullo stage istanziato "datagrid"
    codice:
    stop();
    import mx.controls.DataGrid;
    //inizializza header
    var dp:Array = [];
    var statusQuo:String = "";
    var myNews:LoadVars = new LoadVars();
    myNews.load("dati_xml.txt");
    myNews.onLoad = function(success) {
    if (success) {
    var tmpArr:Array = this.newsdata.split("||");
    for (var i:Number = 0; i<tmpArr.length-1; i++) {
    dp[i] = {CODICE:tmpArr[i].split("|")[0],IERI:tmpArr[i].split("|")[1], OGGI:tmpArr[i].split("|")[2], DATA_VAR:tmpArr[i].split("|")[3] };
    datagrid.editable = false;
    datagrid.sortableColumns = true;
    //datagrid.showHeaders = false;
    datagrid.dataProvider = dp;
    //datagrid.setStyle("borderStyle", "alert");
    datagrid.setStyle("themeColor", 0xeeeeee);
    datagrid.getColumnAt(0).width = 60;
    datagrid.getColumnAt(0).setStyle("textAlign", "center");
    datagrid.getColumnAt(1).width = 70;
    datagrid.getColumnAt(1).setStyle("textAlign", "center");
    datagrid.getColumnAt(2).width = 70;
    datagrid.getColumnAt(2).setStyle("textAlign", "center");
    datagrid.getColumnAt(3).width = 80;
    datagrid.getColumnAt(3).setStyle("textAlign", "center");
    //datagrid.getColumnAt(1).width = 200;
    //datagrid.getColumnAt(2).width = 80;
    //datagrid.getColumnAt(3).width = 100;
    datagrid.resizableColumns = false;
    //datagrid.setStyle("color", 0x5B6C80);
    datagrid.setStyle("fontFamily", "Times");
    datagrid.getColumnAt(3).setStyle("textAlign", "right");
    datagrid.getColumnAt(2).setStyle("color", 0x43525F);
    datagrid.getColumnAt(1).setStyle("color", 0x43525F);
    datagrid.getColumnAt(0).setStyle("color", 0x43525F);
    datagrid.vScrollPolicy = "auto";
    //datagrid.getColumnAt(0).setStyle("fontWeight", "bold");
    }
    }
    }
    -Nextart.it Graphic Solutions

  8. #8
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    grazieee a tutti gentilissimi davvero

    Continuiamo la serie de "Il datagrid.. questo sconosciuto(per me )"

    Il file di testo dati.txt

    newsdata=dato1|dato2|dato3|dato4||dato5|dato6|dato 7|dato8||

    presenta due righe e 4 colonne...

    ma se volessi metterci più righe... o meglio più dati nel txt come posso metterli a capo
    per rendere la visualizzazione meno esosa e nel contempo interpretabile correttamente da flash?


    in sostanza se scrivo nel txt:

    newsdata=dato1|dato2|dato3|dato4||dato5|dato6|dato 7|dato8||
    dato1|dato2|dato3|dato4||dato5|dato6|dato7|dato8||
    dato1|dato2|dato3|dato4||dato5|dato6|dato7|dato8||
    dato1|dato2|dato3|dato4||dato5|dato6|dato7|dato8||
    dato1|dato2|dato3|dato4||dato5|dato6|dato7|dato8||


    ovviamente flash non me lo capisce...
    qual'è dunque il segno di accapo unificatore delle varie righe?

    Sperando di non essere stato troppo "geroglifico" attendo
    la pressiosa answer


    THANKS!


  9. #9
    ECCO LA PRESSIOSA ANSWER.........
    tagliamo la testa al toro.. .. in effetti il txt e' un po' macchinoso........
    MEGLIO XML

    AS
    codice:
    stop();
    this._lockroot=true;
    import mx.controls.gridclasses.DataGridColumn;
    //inizializza header
    var columns = [
    {label:"numero", width:100},
    {label:"cod_ieri", width:250},
    {label:"data", width:50}
    ];
    for(var i = 0; i < columns.length; i++)
    {
    var column = new DataGridColumn(columns[i].label);
    column.width = columns[i].width;
    _root.datagrid.addColumn(column);
    }
    
    var item = "";
    var tot = 0;
    //var path =this;
    dati_xml = new XML();
    dati_xml.ignoreWhite = true;
    dati_xml.onLoad = function(success)
    {
    datagrid.removeAll();
    if (success) {
    var nodes = this.firstChild.childNodes;
    tot = nodes.length;
    datagrid.dataProvider = nodes;
    //trace(nodes)
    datagrid.setSelectedIndex(0);
    } else {
    datagrid.setEnabled(false);
    }
    };
    dati_xml.load("datagrid_xml.xml");

    IL FILE datagrid_xml.xml E' COSI' STRUTTURATO:
    codice:
    <elenco>
    <item numero="1" cod_ieri="PF50423" data="1"></item>
    <item numero="2"  cod_ieri="PF50423" data="4"></item>
    <item numero="3"  cod_ieri="PF50423" data="5"></item>
    </elenco>
    cosi' hai tre riche, se vuoi aggiungerne altre ti basta inserire in coda:
    codice:
     
    
    <elenco>
    <item numero="1" cod_ieri="PF50423" data="1"></item>
    <item numero="2"  cod_ieri="PF50423" data="4"></item>
    <item numero="3"  cod_ieri="PF50423" data="5"></item>
    <item numero="4"  cod_ieri="3333333" data="333"></item> 
    </elenco>
    ciao....

    -Nextart.it Graphic Solutions

  10. #10
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    della serie.. "stressiamo...ci.. ancora" :)

    Se avessi un foglio excel 21 celle x 21 celle

    è possibile senza stare a ricompilarlo a mano.. in xml... importarlo... in un datagrid in qualche modo? (convertendolo magari automaticamente in xml..)


    GRAZISSSSSIMEEE



    ps: Una volta costruitomi questo figo datagrid è possibile gestirlo .. come un foglio excel e magari anche dinamicamente tramite action script? Tipo evidenziare celle sommare valori ecc...?

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.