32 Урока Borland Delphi



              

Урок 19 - часть 13


raise Exception.CreateFmt('Cannot find CustNo %g',

[CustNo]);

end;

В коде, показанном выше, либо неверное присвоение номера, либо неудача поиска автоматически приведут к сообщению об ошибке ‘Cannot find CustNo %g’.

Иногда требуется найти не точно совпадающее значение, а близкое к нему, для этого следует вместо GotoKey пользоваться методом GotoNearest.

  • Использование фильтров для ограничения числа записей в DataSet
  • Процедура ApplyRange позволяет Вам установить фильтр, который ограничивает диапазон просматриваемых записей. Например, в БД Customers, поле CustNo имеет диапазон от 1,000 до 10,000. Если Вы хотите видеть только те записи, которые имеют номер заказчика между 2000 и 3000, то Вы должны использовать метод ApplyRange, и еще два связанных с ним метода. Данные методы работают только с индексированным полем.

    Вот процедуры, которые Вы будете чаще всего использовать при установке фильтров:

    procedure SetRangeStart;

    procedure SetRangeEnd;

    procedure ApplyRange;

    procedure CancelRange;

    Кроме того, у TTable есть дополнительные методы для управления фильтрами:

    procedure EditRangeStart;

    procedure EditRangeEnd;

    procedure SetRange;

    Для использования этих процедур необходимо:

    1. Сначала вызвать SetRangeStart и использовать свойство Fields для определения начала диапазона.
    2. Затем вызвать SetRangeEnd и вновь использовать свойство Fields для определения конца диапазона.
    3. Первые два шага подготавливают фильтр, и теперь все что Вам необходимо, это вызвать ApplyRange, и новый фильтр вступит в силу.
    4. Когда нужно прекратить действие фильтра - вызовите CancelRange.
    Программа RANGE, которая есть среди примеров Delphi, показывает, как использовать эти процедуры. Чтобы создать программу, поместите TTable, TDataSource и TdbGrid на форму. Соедините их так, чтобы Вы видеть таблицу CUSTOMERS из подкаталога DEMOS. Затем поместите два объекта TLabel на форму и назовите их ‘Start Range’ и ‘End Range’. Затем положите на форму два объекта TEdit. Наконец, добавьте кнопки ‘ApplyRange’ и ‘CancelRange’. Когда Вы все выполните, форма имеет вид, как на рис.7




    Содержание  Назад  Вперед