Перемещают указатель текущей записи соответственно на первую, последнюю, следующую и предыдущую записи, удовлетворяющие условию фильтрации, которое задано через Filter.
Во время этих методов набор данных автоматически переводится в режим dsFilter, записи временно фильтруются, и выполняется переход на нужную запись.
Пример. Поиск с псевдофильтрацией в таблице Tovar.
procedure TForm1.FormCreate(Sender: TObject);
begin
TbTovar.Active:=True;
TbTovar.FilterOptions:=[foCaseInsensitive];
TbTovar.Filtered:=False;
end;
procedure TForm1.BtnFindClick(Sender: TObject);
begin
TbTovar.IndexFieldNames:='T_Nazv;T_Cena';
TbTovar.Filter:='T_Nazv='+#39+LETovar.Text+#39;
TbTovar.Filtered:=False;
TbTovar.FindFirst;
end;
procedure TForm1.BtnFirstClick(Sender: TObject);
begin
TbTovar.FindFirst;
end;
procedure TForm1.BtnPriorClick(Sender: TObject);
begin
TbTovar.FindPrior;
end;
procedure TForm1.BtnNextClick(Sender: TObject);
begin
TbTovar.FindNext;
end;
procedure TForm1.BtnLastClick(Sender: TObject);
begin
TbTovar.FindLast;
end;
p
Модификация набора данных – это редактирование, добавление и удаление записей.
Свойства набора данных Table:
ReadOnly: Boolean; -для таблицы устанавливается режим доступа только для чтения. Изменять значение можно только для закрытого набора данных.
CanModify: Boolean; - (только для чтения) определяет, может ли приложение выполнять вставку, редактирование и удаление записей в таблице.
Например,
If not Table1.CanModify then begin
Showmessage(¢Записи нельзя изменять!¢);
Exit;
End;
Свойство источника данных DataSource:
AutoEdit:Boolean; - определяет, будет ли автоматически вызываться метод Edit набора данных при получении фокуса элементом управления, который ассоциирован с источником данных (DBGrid или DBEdit).
Редактирование записей заключается в изменении значений полей записей. Отредактировать можно только текущую запись. После установки указателя на нужную запись необходимо выполнить следующее:
1) перевести набор данных в режим редактирования;
2) изменить значения полей записи;
3) подтвердить сделанные изменения или отменить их.
Для различных визуальных компонентов перевод в режим редактирования осуществляется различными способами. Например, для компонентов DBGrid и DBEdit необходимо щелкнуть в нужном поле, или нажать алфавитно-цифровую клавишу, когда курсор находится в этом поле.
Изменение значений полей выполняется с помощью визуальных компонентов или программно с помощью операторов присваивания. Необходимо учитывать тип поля. Если набор данных является модифицируемым, то будут произведены следующие действия:
· генерируется событие BeforeEdit, которое можно обработать;
· из набора данных считывается текущая запись и временно для нее устанавливается доступ только для чтения;
· если запись содержит вычисляемые поля, то они пересчитываются;
· набор данных переводится в режим редактирования;
· генерируется событие OnDataChangeдлясвязанного с набором данных источника данных;