Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Попов Евгений Сергеевич
Статус: 3-й класс
Рейтинг: 14
∙ повысить рейтинг >>
Victor Pyrlik
Статус: Профессионал
Рейтинг: 13
∙ повысить рейтинг >>
Andrey Popkov
Статус: 3-й класс
Рейтинг: 8
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 536
от 06.05.2009, 20:05

Администратор:Gh0stik
В рассылке:Подписчиков: 286, Экспертов: 23
В номере:Вопросов: 1, Ответов: 2

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 166261: Здравствуйте! Помогите пожалуйста решить! В Delphi на форме присутствуют компоненты CheckBox1, DateTimePicker1, DateTimePicker2. Нужно, чтобы при нажатии на компоненту CheckBox1 в DBGrid1 фильтровало даты, учитывая период из DateTimePicker1 по Dat...


Вопрос № 166.261
Здравствуйте! Помогите пожалуйста решить!
В Delphi на форме присутствуют компоненты CheckBox1, DateTimePicker1, DateTimePicker2. Нужно, чтобы при нажатии на компоненту CheckBox1 в DBGrid1 фильтровало даты, учитывая период из DateTimePicker1 по DateTimePicker2. Заранее благодарю!
Отправлен: 01.05.2009, 19:50
Вопрос задала: T. Tanyta (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Тимошенко Дмитрий
Здравствуйте, T. Tanyta!

Для этого вам надо:

В событиях CheckBox1 создайте процедуру на событие OnClick такого вида:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
ADOTable1.Filter:='DATEFIELD>='+DateToStr(DateTimePicker1.Date)+' and DATEFIELD<='+DateToStr(DateTimePicker2.Date);
ADOTable1.Filtered:=CheckBox1.Checked;
end;

DATEFIELD - поле с датой по которому производится фильтрация. (Замените на ваше).
Также нужно замените ADOTable1 - на имя вашего DataSet, который используется в DBGrid1 в качестве источника данных.

С уважением, Дмитрий
Ответ отправил: Тимошенко Дмитрий (статус: 9-й класс)
Ответ отправлен: 02.05.2009, 10:34

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 248519 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Дмитрий, большое Вам спасибо!


    Отвечает: Foxbox
    Здравствуйте, T. Tanyta!
    Рекомендую воспользоваться фильтрацией не DBGrid1, а связанного с ним TDataSet (TQuery, TTable или иные)
    У DataSet есть событие OnFilterRecord
    Вот его обработчик и определите. Пример обработчика в найдете в приложении.
    Замечу, что приведенный текст работает только с датой пикера. Если какие-то иные условия по задаче (что именно стоит в поле Kind пикеров), то уж переделаете текст самостоятельно. Ну и нужное наименование поля для анализа указывайте.

    А так, более плотно работайте со справочной системой дельфей.
    P.S. найдет ищущий, вопрошающий не найдет...

    Приложение:

    Ответ отправил: Foxbox (статус: 3-й класс)
    Ответ отправлен: 04.05.2009, 10:40

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 248602 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное