procedure TfmMain.DBGrid1
TitleBtnClick
(Sender: TObject; ACol:
Integer; Field: TField);
begin
if (Field <>
nil)
then begin
if NameSortField=Field.FullName
then Desc:=
Not(Desc)
else begin
Desc:=False;
NameSortField:=Field.FullName;
end;
end;
end;
6. Бағдарламаны орындау үшін іске қосыңыз және бағаналар
атауларында батырмалардың жұмысын тексеріңіз – бағананың жаңа атауын
шерткенде батырма осы бағана атауында пайда болуы қажет, ол орналасқан
бағана атауын шерткенде батарма өзінің сыртқы түрін өзгерту керек.
Қадам 2
Қадам 2
–
–
МҚ – на
МҚ – на
SQL-
SQL-
сұрауының бағдарламалық өзгеруі
сұрауының бағдарламалық өзгеруі
1. Процедура атауын форма классын бейнелеу Public бөліміне
орналастырыңыз:
2. Төменде көрсетілген процедураны құрыңыз және басқа да қосалқы
бағдарламалардың хабарламалары жанында
unMain модулінің
interface
секциясында оның атауын орналастырыңыз:
procedure TfmMain.NewQuerySQL;
var strSQL:string;
begin
DataSource1.Enabled :=False;
With ADOQuery1 do begin
if Active=True then Active:=False;
SQL.Clear;
strSQL:= 'SELECT * FROM Страны ORDER BY
Страны.'+NameSortField;
if Desc then strSQL:=strSQL+' DESC;' else strSQL:=strSQL+';';
SQL.Add(strSQL);
Active:=True;
end;
DataSource1.Enabled :=True;
end;
3. Сізбен құрылған оқиғаларды өндеушілерде
NewQuerySQL
процедураны шақыруды қосыңыз:
procedure TfmMain.DBGrid1TitleBtnClick(Sender: TObject; ACol: Integer;
Field: TField);
begin
if (Field <> nil) then begin
if NameSortField=Field.FullName
then begin
Desc:=Not(Desc);
end else begin
Desc:=False;
NameSortField:=Field.FullName;
end;
end;
NewQuerySQL;
end;
procedure TfmMain.FormCreate(Sender: TObject);
begin
NameSortField:=DBGrid1.Columns[0].FieldName;Desc:=False;
NewQuerySQL;
end;
4. Бағдарламаны орындау үшін іске қосыңыз және бағаналардың
сұрыпталуы ойлағандай іске асып жатқанына көз жеткізіңіз.
5.
МҚ – на сұрауды орындау уақытында бағдарлама қолданушының
әрекетіне жауап бермейді және оны ол туралы ескеру керек.
Rx
кітапханасында осыны істеуге көмектесетін
ShowSplashWindow арнайы
функция бар. Бұл функцияның суреттелуін кітапхана бойынша анықтамада
оқыңыз, содан кейін
unMain модулінің мәтініне төменде қара шрифтпен
бөліп көрсетілген жолын орналастырыңыз:
var
fmMain: TfmMain;
NameSortField:string;Desc:boolean;
implementation
uses SplshWnd;
{$R *.DFM}
procedure TfmMain.NewQuerySQL;
var strSQL:string;
Splash: TForm;
begin
Splash := ShowSplashWindow(Application.Icon,
'Загрузка данных. Подождите, пожалуйста...', False,
Application.MainForm);
try
DataSource1.Enabled :=False;
With ADOQuery1
do begin
if Active=True then Active:=False;
SQL.Clear;
strSQL:= 'SELECT * FROM Страны ORDER BY
Страны.'+NameSortField;
if Desc then strSQL:=strSQL+' DESC;' else strSQL:=strSQL+';';
SQL.Add(strSQL);
Active:=True;
end;
DataSource1.Enabled :=True;
finally
Splash.Free;
end;
end;
Қадам
3 –
мәліметтерді
фильтрация
лау және іздеу
1. Елдерді атауы бойынша іздеу ыңғайлылығы үшін
RxDBAware
бетінен
paTop тақтасына
TRxLookupEdit компонентін орналастырыңыз.
Объектілер инспекторында осы компонентің қасиеттеріне келесі мәндерді
беріңіз
:
Компонентің
қасиеті
Қасиетінің
мәні
PopUpOnlyLocat
e
False
CharCase
ecUpperCase
Text
LookUpSource
DataSource1
LookUpField
Название
ShowHint
True
Hint
ПОИСК
СТРАНЫ
2. Проекті орындауға жібергеннен кейін, өріске бұл компонентің мәнін
енгізу жалғастырылады және ол түске боялады, табылмаған жазбаға курсор
мәліметтер жиынын шығарады, төмендегідегі суретте көрсетілгендей:
3. Бұл бағдарламамен жұмыс істеу кезіңде, қолданушыны елдер тізімі
мен халықтары 100 миллион тұрғындарымен қамтылған, немесе балалар
саны шектеулі бар елдер сияқты мысалдар қызығушылық тудыра алады .
Осындау жазуларды әртүрлі тәсілдер арқылы көруге болады. Бір шекараны
құрастыру және фильтірдің бір шартын, қолданушыға мәліметтер жиынының
бағанасын біздің бағдарламада ұсынамыз ол үшін ол
фильтірді қолданады
4. Фильтірдің шартына барлық керекті компоненттерді басқа тақтаға
орналастыру ыңғайлы болады.
paBot панеліне жаңа панелді орналастырып,
оның қасиетін келесідей түрде көресіз:
Компонентің
қасиеті
Қасиеттің
мәні
Name
paFilter
Align
alClient
5.
TCheckBox компонентін
paFilter панеліне орналастырып, оның
қасиеттеріне келесі мәндерді жіктеңіз: