p°edchozφ lekce (3.04) | obsah kurzu | nßsledujφcφ lekce (3.06) |
Nejd∙le₧it∞jÜφ vlastnostφ je DataSet, to je spojenφ na data obsa₧enß v komponent∞ DataTable. Zadßvß se v₧dy komponenta DataTable umφst∞nß na formulß°i.
Vlastnost AutoEdit umo₧≥uje zabrßnit editaci polo₧ek. P°i nastavenφ DataSource.AutoEdit:=True je mo₧nΘ polo₧ky databßze v komponent∞ DataEdit b∞₧n∞ editovat. Pokud vÜak zadßme DataSource.AutoEdit:= False, je zabrßn∞no editaci polo₧ek. Pro p°epnutφ do editaΦnφho re₧imu budete muset bu∩ kliknout na editaΦnφ ikonu komponenty DataNavigator, nebo volat metodu DataTable.Edit.
Pokud budete zpracovßvat v∞tÜφ mno₧stvφ dat z p°ipojenΘ databßze z rozsahu celΘho souboru, m∙₧ete vyu₧φt vlastnost Enabled. Umo₧nφ vßm doΦasn∞ odpojit komponenty p°ipojenΘ k DataSource zprost°edkovßvajφcφ zobrazenφ dat. Tφm dosßhnete toho, ₧e se p°i prochßzenφ databßze nebudou data zobrazovat a zpracovßnφ bude dφky tomu mnohem rychlejÜφ.
Komponenta DataSource mß t°i velmi d∙le₧itΘ udßlosti. Udßlost OnDataChange se vyskytne p°i ka₧dΘ zm∞n∞ v databßzi. To znamenß nejen p°i zm∞n∞ dat, ale takΘ p°i zm∞n∞ pozice databßzovΘho ukazatele. Udßlost OnUpdateData je volßna v₧dy, kdy₧ je zßznam po editaci aktualizovßn (zapisovßn fyzicky do databßze). V∞tÜφ mo₧nosti poskytuje udßlost OnStateChange, kterß je volßna v₧dy p°i zm∞n∞ stavu databßze. To znamenß, ₧e dokß₧e rozpoznat p°epnutφ do editaΦnφho re₧imu, re₧imu prohlφ₧enφ, vlo₧enφ novΘho zßznamu a deaktivaci tabulky. Stav tabulky zjistφte testovßnφm vlastnosti State.
Udßlost OnDataChange je mo₧nΘ pou₧φt nap°φklad pro zobrazenφ Φφsla aktußlnφho
zßznamu databßze nßsledujφcφm zp∙sobem:
Jazyk KLONDAIK:
procedure TForm.DataSourceDataChange(Sender: TObject;
Field: TField);
begin
Label.Caption := IntToStr(DataTable.RecNo)+'/'
+IntToStr(DataTable.RecCount);
end;
Jazyk BONANZA:
Sub DataSourceDataChange(Sender, Field)
Label.Caption = IntToStr(DataTable.RecNo) _
+"/"+IntToStr(DataTable.RecCount)
End Sub
Jazyk JUKON:
function DataSourceDataChange(Sender, Field)
{
Label1.Caption = IntToStr(DataTable1.RecNo)+'/'
+IntToStr(DataTable1.RecCount);
}
p°edchozφ lekce (3.04) | obsah kurzu | nßsledujφcφ lekce (3.06) |