Mateusz Krupnik Wordpress
Temat: Refresh/reload Datagrid'a
Witam,Jak odświeżyć datagrida ? po wypełnieniu formularza dane zapisywane są do bazy danych, lecz w datagrindzie dane te pojawiają się z opóźnieniem, chciałbym do tego podpiąć buttoma, lub cos w ten deseń, aby odświeżyć, przeładować datagrind’a.
Pragnę podkreślić ze dane się pojawiają ale nie od razu po uzupełnieniu formularza, poniżej kod.
List.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:HTTPService id="srv" url="addform.php" method="POST">
<mx:request>
<first>{first.text}</first>
<last>{last.text}</last>
<email>{email.text}</email>
</mx:request>
</mx:HTTPService>
<mx:XML id="mydata" source="http://localhost/flex/List-debug/list.php"></mx:XML>
<mx:DataGrid id="emaillist" x="10" y="10" dataProvider="{mydata..subscriber}" width="720" height="186">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="first" />
<mx:DataGridColumn headerText="Surrname" dataField="last" />
<mx:DataGridColumn headerText="Mail" dataField="email" />
<mx:DataGridColumn id="opcje" dataField="Opcje" visible="false" />
</mx:columns>
</mx:DataGrid>
<mx:Button x="10" y="204" label="Dodaj" width="88" click="currentState='Add'" id="button1"/>
<mx:Button x="106" y="204" label="Hide" click="opcje.visible = !opcje.visible;" />
<mx:Label x="204" y="206" text="{emaillist.selectedItem.first}"/>
<mx:Label x="204" y="232" text="{emaillist.selectedItem.last}"/>
<mx:Label x="204" y="258" text="{emaillist.selectedItem.email}"/>
<mx:TextInput id="first" x="371" y="204"/>
<mx:TextInput id="last" x="371" y="234"/>
<mx:TextInput id="email" x="371" y="264"/>
<mx:Button x="371" y="294" label="Dodaj" click="srv.send()"/>
</mx:Application>
list.php
<?php
header('Content-Type: text/xml');
?>
<subscribers>
<?php
include('DB.php');
$sql="SELECT * FROM emails";
$querty=mysql_query($sql);
while($list=mysql_fetch_array($querty))
{
?>
<subscriber>
<first><?php echo( $list['first'] ); ?></first>
<last><?php echo( $list['last'] ); ?></last>
<email><?php echo( $list['email'] ); ?></email>
</subscriber>
<?php
}
?>
</subscribers>
addform.php
<?php
header('Content-Type: text/xml');
include('DB.php');
$first = $_POST['first'];
$last = $_POST['last'];
$email = $_POST['email'];
$sql = "INSERT INTO emails (first, last, email) VALUES ('$first', '$last', '$email')";
$query = mysql_query($sql);
?>