Melanjutkan tutorial yang sebelumnya Database Manager With Adobe Air AS3kali ini kita akan mempelajari bagaiman mencari suatu data,... pada dasarnya kita hanyalah mencari data dari xml dengan bantuan RegExp
berikut tutorialnya
Tahap ke Tujuh
Buatlah Textinput component beri instance name search_nm kemudian buatlah sebuah button beri instance name bt_search dan buat lagi combocomponent beri lagi instance name search_sex
Tahap ke Delapan
Penulisan Script As3buka panel action dan tambahkan kan script berikut pada script yang saya telah posting di tutorial yang sebelumnya Database Manager With Adobe Air AS3
search_nm.text = "Cari Nama";
search_sex.dataProvider = new DataProvider([{label:"Semuanya",data:"Any"},{label:"Pria",data:"L"},{label:"Wanita",data:"P"}]);
var pattern_nm:RegExp;
//fungsi
bt_search.addEventListener(MouseEvent.CLICK, search);
function search(MouseEvent):void
{
caridata = [];
pattern_nm = new RegExp(search_nm.text.toUpperCase());
for (var n:int = 0; n<semuadata.length; n++)
{
if ((pattern_nm.test(semuadata[n].nm) || search_nm.text=="")&&(semuadata[n].sex == search_sex.selectedItem.data || search_sex.selectedItem.data=="Any"))
{
caridata.push(semuadata[n]);
}
}
updateGrid();
}
dan untuk mengaktifkan combo component
tambahkan script ini
search_sex.addEventListener(Event.CHANGE, klamin);
function klamin(evtk:Event)
{
caridata = [];
for (var k:int = 0; k <semuadata.length; k++)
{
if ((semuadata[k].sex == search_sex.selectedItem.data || search_sex.selectedItem.data=="Any"))
{
caridata.push(semuadata[k]);
}
}
updateGrid();
}
full script nya jadi seperti ini
import fl.data.DataProvider;
import fl.controls.dataGridClasses.DataGridColumn;
mulai();
function mulai()
{
var kolom_nama:DataGridColumn = new DataGridColumn("Nama");
myGrid.addColumn(kolom_nama);
var kolom_phone:DataGridColumn = new DataGridColumn("Telpon");
myGrid.addColumn(kolom_phone);
var kolom_alamat:DataGridColumn = new DataGridColumn("Alamat");
myGrid.addColumn(kolom_alamat);
var kolom_jnisklmin:DataGridColumn = new DataGridColumn("Sex");
myGrid.addColumn(kolom_jnisklmin);
kolom_jnisklmin.width = 50;
var semuadata:Array = [];
var caridata:Array = [];
var prosesload:URLLoader = new URLLoader();
var isidata:XML = new XML();
var loader:Loader = new Loader();
prosesload.addEventListener(Event.COMPLETE, readXML);
prosesload.load(new URLRequest("http://rickonada.tk/tool/upload/dataxmlmanager.php"));
function readXML(event:Event):void
{
isidata = new XML(event.target.data);
for each (var usr in isidata.databasemanager)
{
semuadata.push({nm: usr.nama.toUpperCase(), phone: usr.phone, sex: usr.sex, almt: usr.alamat, des : usr.description,gmbr : usr.gambar});
}
caridata = semuadata.concat();
updateGrid();
}
function updateGrid():void
{
myGrid.dataProvider = new DataProvider ();
for (var i:int = 0; i<caridata.length; i++)
{
myGrid.addItem({no: i,Nama: caridata[i].nm, Telpon: caridata[i].phone, Alamat: caridata[i].almt, Sex: caridata[i].sex});
outpField.text = "Selamat Datang \n";//nama awal
outpField.appendText("Klik pada Tabel untuk melihat detail \n");
var prosesgambar:URLRequest = new URLRequest("http://rickonada.tk/tool/upload/photo.jpg.png");
loader.load(prosesgambar);
wadah.addChild(loader);
loader.x = 0;
loader.y = 0;
}
}
myGrid.addEventListener(Event.CHANGE, info);
function info(evt:Event)
{
outpField.text = "Nama: " + caridata[evt.target.selectedItem.no].nm + "\n";
outpField.appendText(caridata[evt.target.selectedItem.no].des + "\n");
wadah.removeChild(loader);
var prosesgambar:URLRequest = new URLRequest(caridata[evt.target.selectedItem.no].gmbr);
loader.load(prosesgambar);
wadah.addChild(loader);
loader.x = 0;
loader.y = 0;
}
//fungsi cari
search_nm.text = "Cari Nama";
search_sex.dataProvider = new DataProvider([{label:"Semuanya",data:"Any"},{label:"Pria",data:"L"},{label:"Wanita",data:"P"}]);
var pattern_nm:RegExp;
bt_search.addEventListener(MouseEvent.CLICK, search);
function search(MouseEvent):void
{
caridata = [];
pattern_nm = new RegExp(search_nm.text.toUpperCase());
for (var n:int = 0; n<semuadata.length; n++)
{
if ((pattern_nm.test(semuadata[n].nm) || search_nm.text=="")&&(semuadata[n].sex == search_sex.selectedItem.data || search_sex.selectedItem.data=="Any"))
{
caridata.push(semuadata[n]);
}
}
updateGrid();
}
//fungsi combo
search_sex.addEventListener(Event.CHANGE, klamin);
function klamin(evtk:Event)
{
caridata = [];
for (var k:int = 0; k <semuadata.length; k++)
{
if ((semuadata[k].sex == search_sex.selectedItem.data || search_sex.selectedItem.data=="Any"))
{
caridata.push(semuadata[k]);
}
}
updateGrid();
}
}
By Ricko nada di Pustaka Flash terima kasih telah membaca :) Database Manager With Adobe Air AS3(Cari Data)
0 komentar:
Post a Comment