
Код AS3:
<?xml version = "1.0" encoding = "utf-8"?>
<mx:TitleWindow xmlns:mx = "http://www.adobe.com/2006/mxml"
creationComplete="onCreateComplete()"
showCloseButton = "true"
layout="absolute"
xmlns:phi="phi.db.*"
close = "CloseAll()"
width="546"
height="358"
title="Пользователи"
themeColor="#101213"
borderColor="#FF0000"
backgroundColor="#FEFEFE">
<mx:Script>
<![CDATA[
import mx.controls.Text;
//*------------------------------------------------------------------------------------------------
import mx.managers.PopUpManager;
import mx.binding.utils.BindingUtils;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.CloseEvent;
import phi.interfaces.IQuery;
import phi.interfaces.IDatabase;
import phi.db.Database;
import phi.db.Query;
private var db :IDatabase;
private var query1 :IQuery;
private var query2 :IQuery;
private var pId :String;
private var pSearchSQL :String;
[Bindable] public var sel:DoljnostWindow;
[Bindable] public var users : ArrayCollection;
[Bindable] public var doljnost : ArrayCollection;
[Bindable] private var aD:DoljnostWindow;
private function DoljnostWindowShow():void
{
aD = new DoljnostWindow();
PopUpManager.addPopUp(aD, this, true);
aD.title='Выбор должности';
}
//*Checkbox1_Check-----------------------------------------------------------------------------------
private function Checkbox1_Check():void
{
if (Checkbox1.selected==true)
{
Checkbox2.selected=false;
Checkbox3.selected=false;
Checkbox4.selected=false;
Checkbox2.visible=true;
Checkbox3.visible=true;
Checkbox4.visible=true;
txtUsername.enabled=false;
txtPassword.enabled=false;
Combo1.enabled=false;
BtnInsert.visible=false;
BtnChange.visible=false;
BtnDelete.visible=false;
BtnDelete.label='Удалить';
BtnChange.label='Изменить';
BtnDelete.toolTip='Удалить';
BtnChange.toolTip='Изменить';
BtnClear.label='Поиск';
BtnClear.toolTip='Поиск';
txtUsername.text="";
txtPassword.text="";
Combo1.selectedIndex=0;
return;
}
else
{
Checkbox2.visible=false;
Checkbox3.visible=false;
Checkbox4.visible=false;
txtUsername.enabled=true;
txtPassword.enabled=true;
Combo1.enabled=true;
BtnInsert.visible=true;
BtnChange.visible=true;
BtnDelete.visible=true;
BtnClear.label='Очистить';
BtnClear.toolTip='Очистить';
LoadDatagrid();
return;
}
}
//*------------------------------------------------------------------------------------------------
//*Checkbox_Check-----------------------------------------------------------------------------------
private function Checkbox_Check():void
{
if (Checkbox2.selected==true){txtUsername.enabled=true} else {txtUsername.enabled=false}
if (Checkbox3.selected==true){txtPassword.enabled=true} else {txtPassword.enabled=false}
if (Checkbox4.selected==true){Combo1.enabled=true} else {Combo1.enabled=false}
}
//*------------------------------------------------------------------------------------------------
//*queryUsersEnd-----------------------------------------------------------------------------------
private function queryUsersEnd (evt:Object):void
{
users=query1.getRecords();
}
//*------------------------------------------------------------------------------------------------
//*queryDoljnostEnd--------------------------------------------------------------------------------
private function queryDoljnostEnd (evt:Object):void
{
doljnost=query2.getRecords();
}
//*------------------------------------------------------------------------------------------------
//*LoadDatagrid--------------------------------------------------------------------------------
private function LoadDatagrid():void
{
query1.addEventListener(Query.QUERY_END,queryUsersEnd);
query1.execute("Select users.id,users.username,users.password,doljnost.name as doljnost_name from Users,Doljnost where users.doljnost_id=doljnost.id");
}
//*------------------------------------------------------------------------------------------------
//*LoadCombo1--------------------------------------------------------------------------------
private function LoadCombo1():void
{
query2.addEventListener(Query.QUERY_END,queryDoljnostEnd);
query2.execute("Select id,name from Doljnost");
Combo1.selectedIndex=0;
}
//*------------------------------------------------------------------------------------------------
//*onCreateComplete--------------------------------------------------------------------------------
private function onCreateComplete():void
{
PopUpManager.centerPopUp(this);
db = Database.getInstance();
query1=new Query();
query2=new Query();
db.connect("conn1","root","","localhost","test",true);
query1.connect("conn1",db);
query2.connect("conn1",db);
LoadDatagrid();
LoadCombo1();
ClearAll();
Checkbox2.visible=false;
Checkbox3.visible=false;
Checkbox4.visible=false;
Combo1.selectedIndex=sel.a;
}
//*------------------------------------------------------------------------------------------------
//*CloseAll--------------------------------------------------------------------------------
private function CloseAll():void
{
db.disconnect("conn1");
PopUpManager.removePopUp(this)
}
//*------------------------------------------------------------------------------------------------
//*ClearAll--------------------------------------------------------------------------------
private function ClearAll():void
{
if (BtnClear.label=='Очистить')
{
BtnClose.useHandCursor = true;
BtnClose.buttonMode = true;
BtnClose.mouseChildren = false;
BtnClear.useHandCursor = true;
BtnClear.buttonMode = true;
BtnClear.mouseChildren = false;
BtnInsert.useHandCursor = true;
BtnInsert.buttonMode = true;
BtnInsert.mouseChildren = false;
BtnChange.useHandCursor = true;
BtnChange.buttonMode = true;
BtnChange.mouseChildren = false;
BtnDelete.useHandCursor = true;
BtnDelete.buttonMode = true;
BtnDelete.mouseChildren = false;
Checkbox1.useHandCursor = true;
Checkbox1.buttonMode = true;
Checkbox1.mouseChildren = false;
Checkbox2.useHandCursor = true;
Checkbox2.buttonMode = true;
Checkbox2.mouseChildren = false;
Checkbox3.useHandCursor = true;
Checkbox3.buttonMode = true;
Checkbox3.mouseChildren = false;
Checkbox4.useHandCursor = true;
Checkbox4.buttonMode = true;
Checkbox4.mouseChildren = false;
btnDoljnost.useHandCursor = true;
btnDoljnost.buttonMode = true;
btnDoljnost.mouseChildren = false;
txtUsername.text="";
txtPassword.text="";
Combo1.selectedIndex=0;
txtUsername.setFocus();
return;
}
else
{
pSearchSQL="";
if (BtnClear.label=='Поиск')
{
if (Checkbox2.selected==false){}else{pSearchSQL=pSearchSQL+" username like '"+txtUsername.text+"%' and "}
if (Checkbox3.selected==false){}else{pSearchSQL=pSearchSQL+" password like '"+txtPassword.text+"%' and "}
if (Checkbox4.selected==false){}else{pSearchSQL=pSearchSQL+" doljnost_id = "+Combo1.selectedItem.id+" and "}
}
pSearchSQL=pSearchSQL.substr(0,pSearchSQL.length-4);
//Alert.show(pSearchSQL);
query1.addEventListener(Query.QUERY_END,queryUsersEnd);
query1.execute("Select users.id,users.username,users.password,doljnost.name as doljnost_name from Users,Doljnost where users.doljnost_id=doljnost.id and "+pSearchSQL);
return;
}
}
//*------------------------------------------------------------------------------------------------
//*ChangeRecord--------------------------------------------------------------------------------
private function ChangeRecord():void
{
if (datagrid.selectedIndex==-1)
{Alert.show("Укажите запись для изменения");
return;
}
if (BtnChange.label=='Изменить')
{
txtUsername.text=datagrid.selectedItem.username;
txtPassword.text=datagrid.selectedItem.password;
Combo1.text=datagrid.selectedItem.doljnost_name;
BtnChange.label='Обновить';
BtnChange.toolTip='Обновить';
BtnDelete.toolTip='Отменить';
BtnDelete.label='Отменить';
return;
}
else
{
query1.addEventListener(Query.QUERY_END,queryUsersEnd);
query1.execute("Update users set username='"+txtUsername.text+"',password='"+txtPassword.text+"',doljnost_id='"+Combo1.selectedItem.id+"' where id="+datagrid.selectedItem.id);
LoadDatagrid();
ClearAll();
BtnDelete.label='Удалить';
BtnChange.label='Изменить';
BtnDelete.toolTip='Удалить';
BtnChange.toolTip='Изменить';
return;
}
}
//*------------------------------------------------------------------------------------------------