Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    tetso nelle colonne datagrid

    Ciao,
    devo inserire dei dati in un datagrid, solo che nel momento in cui li visualizzo nelle "celle" non riesco a capire come gestire lo spazio all'interno di esse. Mi spiego meglio, se imposto la larghezza di una colonna a 100, ma il testo va oltre questa lunghezza, c'è un modo per dire al testo di andare a capo oppure allargare automaticamente la larghezza? (voglio la larghezza della colonna in base alla larghezza del testo per intenderci, come avviene nelle tabelle html).
    Grazie!

  2. #2
    dovresti fare controli incrociati tramite un cellrender o applicare un cellrender con campo di testo multiline, ma c'e' caso che si sovrapponga il testo sopra a quello sotto ... fai un po' di prove , la datagrid e' un component parecchio complesso, nulla assolumante a che fare con una tabella html, se ti serve la tabella html, fatti una rete (griglia) di mc a posizione variabile
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Non ho mai utilizzato cellrender e così sono andato subito a vedere la documentazione di flash mx....però non ho capito molto bene come devo utilizare questa API.
    Sapete se c'è qualche esempio sul web? Oppure se avete voi la pazienza di farmi vedere un esempio di codice? Credo che questa sia la soluzione al mio problema, infatti c'è un metodo "CellRenderer.setSize()" che gestisce proprio le dimensioni delle celle, ed è con questo metodo che dovrei interagire!!!
    La documentazione parle di fare un classe ma non ci ho capito molto!!!

    Grazie!!!

  4. #4
    :master: ho studiato e .... ho visto che bisogna fare una classe con dei metodi per costruire l'oggetto e gestire le proprietà. Ora ho trovato un esempio che crea un bottone in ogni riga. Questo è il link:

    http://www.flashmove.com/forum/showthread.php?t=16717

    A me serve una cosa del genere però con una label penso che andrà poi sulla seconda riga per i nomi + lunghi.

    Ho provato a sostituire button con label e sono riuscito a far vedere il testo, solo che non va su + righe ma anzi è mozzato.

    Mi ripeto, il mio scopo è di riuscire ad adattare del testo alle celle!

    Spero che qualcuno sappia aiutarmi?

    Grazie!

  5. #5
    scusate l'insistenza

    nessuno ha mai utilizzato cellrenderer per avere testo multiline in un datagrid?

  6. #6
    Non avete avuto esperienze con il cellrenderer per avere testo che si adatta alla cella di un datagrid?


  7. #7
    Anch'io sto affrontando lo stesso problema.

    Ho visto la classe che Genera i bottoni all'interno di una colonna...
    E sto provando a sostituirli con un TextArea per poi settare la proprietà wordWrap a TRUE.

    Puoi darmi una mano passandomi il file as che hai creato con i label anzichè i Button?!?
    Ti ringrazio.

    Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43
    siete riusciti a risolvere il problema di inserire un TextArea dentro un datadrid ?



    Er

  9. #9

    YESSS

    Certo!
    Io l'ho risolto da tempo..
    posto gli script che ho utilizzato per creare ad esempio una tabella al cui interno ha una colonna contenente delle TextArea con il wordWrap.

    Sullo stage un DataGrid con nome istanza grid_dg

    Questo è il codice sul primo frame:
    codice:
    import mx.controls.DataGrid;
    import mx.controls.gridclasses.DataGridColumn;
    
    // Create DataGrid columns
    var col = new DataGridColumn("idversione");
    col.headerText = "Versione n°";
    col.width = 80;
    //col.cellRenderer = "ButtonCellRenderer";  // Assign custom cell renderer
    grid_dg.addColumn(col);
    
    var col = new DataGridColumn("ardata");
    col.headerText = "Data modifica";
    col.width = 110;
    //col.cellRenderer = "ButtonCellRenderer";  // Assign custom cell renderer
    grid_dg.addColumn(col);
    
    var col = new DataGridColumn("appunti");
    col.headerText = "Note";
    col.width = 800;
    col.cellRenderer = "ButtonCellRenderer";  // Assign custom cell renderer
    grid_dg.addColumn(col);
    Questo il codice interno al file ButtonCellRenderer.as che risiede sulla stessa directory del fla:
    codice:
    import mx.core.UIObject;
    import mx.core.UIComponent;
    import mx.controls.Button;
    
    import com.macromedia.util.ObjectIterator;
    
    class ButtonCellRenderer extends UIComponent
    {
    
    	var btn : TextField;
    	var listOwner : MovieClip;   // the reference we receive to the list
    	var getCellIndex : Function; // the function we receive from the list
    	var	getDataLabel : Function; // the function we receive from the list
    	
    	function createChildren(Void) : Void
    	{
    		this.createTextField("btn",1,0,0,800,55);
    	}
    
    	function setValue(str:String, item:Object, sel:Boolean) : Void
    	{
    
    		btn._visible = (item!=undefined);
    		btn.text = item.appunti.text;
    		btn.multiline = true;
    		btn.wordWrap = true;
    		btn.selectable = false;
    		var myformat:TextFormat = new TextFormat();
    		myformat.font = "Arial";
    		myformat.size = 12;
    		btn.setTextFormat(myformat);
    	}
    
    }
    Spero possa esserti utile.
    Ciao a presto!

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43
    grazie

    ho capito male ..... a me serviva inserire un componente TextArea nel datagrid non un campo di testo.

    grazie lo stesso e buona giornata


    ER

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.