estoy programando en flex pero la duda es porque la paguna aun no la pongo en un servidor solo la estoy probando en mi maquina, y la tabla es un DataGrid pero se llena segun lo que el usuario escriba en un textinput y al actualizar la pagina (F5) obiamente se borra lo que hay en el DataGrid, pero antes de ponerlo en el servidor quiero saber si los usuarios al actualizar (F5) no se les borrara lo que hay en el DataGrid. no se si me explico aqui te dejo el codigo para mayor visualizacion
Código Flex :
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">
<fx:Script>
<![CDATA[
import flash.net.FileFilter;
import flash.net.FileReference;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flashx.textLayout.events.SelectionEvent;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.events.ListEvent;
import mx.events.ScrollEvent;
import mx.rpc.events.ResultEvent;
//----- se definen los filtros del file para restringir el browser-----
private const UPLOAD_URL:String = "upload.php"
private var imagesFilter:FileFilter = new FileFilter("Imagenes(*.jpg;*.gif;*.png)", "*.jpg;*.gif;*.png");
private var documentos:FileFilter = new FileFilter("Documentos(*.docx; *.xlsx; *.pps; *.ppt; *.doc; *.xls)","*.docx; *.xlsx; *.pps; *.ppt; *.doc; *.xls");
private var comprimidos:FileFilter = new FileFilter("comprimidos(*.rar; *.zip)","*.rar; *.zip");
private var fileref:FileReference = new FileReference();
//----------------- inicio de funciones de browse y ProgresBar
private function buscar():void {
fileref.browse([documentos,imagesFilter,comprimidos]);
Alert.show("Si el archivo existe se sobrescribirá\n al precionar 'Cargar...' " , "¡ADVERTENCIA!");
}
/**
* cuando se ha seleccionado el archivo coloco el nombre en el text
* y habilito el botón subir
*/
private function seleccionar(event:Event):void {
Btndsc.enabled = true;
textCamp.text = fileref.name;
}
/**
* subo el archivo
*/
/**
* chequeo el progreso
*/
private function progressHandler(event:ProgressEvent):void {
uploadProgress.setProgress(event.bytesLoaded, event.bytesTotal);
}
private function completeHandler(event:Event):void {
uploadProgress.label = "Carga Completa";
}
/**
* inicializo la applicación
*/
private function init():void{
Btndsc.enabled = false;
fileref.addEventListener(Event.SELECT, seleccionar);
fileref.addEventListener(ProgressEvent.PROGRESS, progressHandler);
fileref.addEventListener(Event.COMPLETE, completeHandler);
}
//-------------------- end -------------
//----------------------------------- funciones del DataGrid y Descarga--------------
[Bindable]
private var TablaDP:ArrayCollection = new ArrayCollection()
protected function Btndsc_clickHandler(event:MouseEvent):void
{
TablaDP.addItem({nombre:textCamp.text});
//TablaDP.addItem({idCol:"as"})
textCamp.text="";
var request:URLRequest = new URLRequest();
request.method = URLRequestMethod.GET;
request.url = UPLOAD_URL;
fileref.upload(request);
}
protected function TablaG_clickHandler(event:MouseEvent):void
{
/*
var ids:ArrayCollection = new ArrayCollection();
for(var i:int=0;i<TablaDP.length;i++)
{
var trab:Object=TablaDP[i];
if(trab.seleccionado == 1)
ids.addItem(trab.nombre);
}
if(! ids.length == 0)
Alert.show(ids.toString()); */
Alert.show("seleccionado");
}
protected function button1_clickHandler(event:MouseEvent):void
{
/*Alert.yesLabel="Si";
Alert.noLabel="No";
Alert.show("¿Este es el archivo que desea descargar?","Advertencia",(Alert.YES | Alert.NO) ,null, TablaG_itemClickHandler);
*/
var url :URLRequest = new URLRequest("http://localhost/flex/clasesp1/Download/src/amfphp/services/Clases/descarga.php?file=" + urlDesc.text);
navigateToURL(url, "_blank")
urlDesc.text="";
}
protected function TablaG_itemClickHandler(event:ListEvent):void
{
//Alert.show("seleccionado... "+TablaDP.toString());
Alert.show("Ha seleccionado el Archivo: "+ TablaG.selectedItem[DataGridColumn(TablaG.columns[event.columnIndex]).dataField].toString(),"Atención");
urlDesc.text = TablaG.selectedItem[DataGridColumn(TablaG.columns[event.columnIndex]).dataField].toString();
}
protected function cncel_clickHandler(event:MouseEvent):void
{
urlDesc.text="";
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Panel x="15.7" y="48" width="615" height="344" title="Control de Gestion">
<mx:Text id="file_path" x="439.9" y="245.35"/>
<mx:ProgressBar id="uploadProgress" label="" mode="manual" x="430.35" y="208.6" />
<s:Button label="Descargar..." click="button1_clickHandler(event)" x="427.35" y="43.8"/>
<mx:Button id="browseUpload" label="Buscar..." click="buscar()" x="350" y="128.45"/>
<s:Button x="470.35" y="149.6" label="Cargar..." width="91" height="23" id="Btndsc" click="Btndsc_clickHandler(event)" />
<s:TextInput x="421.4" y="180.3" id="textCamp" width="167" enabled="false"/>
<s:TextInput x="421.25" y="75.7" id="urlDesc" width="167" enabled="false"/>
<mx:DataGrid x="22.55" y="81.4" dataProvider="{TablaDP}" id="TablaG" itemClick="TablaG_itemClickHandler(event)" >
<mx:columns>
<!--mx:DataGridColumn headerText="ID" dataField="idCol" width="30"/-->
<mx:DataGridColumn headerText="Nombre del Archivo..." dataField="nombre" width="300" />
</mx:columns>
</mx:DataGrid>
<s:Label x="436.7" y="215.7" text="Progreso de Carga" fontSize="16" height="30"/>
<s:Button x="515.75" y="43.65" label="Cancelar" id="cncel" click="cncel_clickHandler(event)"/>
</s:Panel>
</s:Application>