Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.05.2011, 21:53
Регина Регина вне форума
Прохожий
 
Регистрация: 08.04.2008
Сообщения: 15
Репутация: 10
Восклицание DateTimePicker MinDate MaxDate

возникла проблема с периодом в этом элементе. На форме есть комбобокс, через него выбираю дату (1 января допустим) на его событии closeup прописала чтобы при выборе в 1ой и 2ой датапиккеры (выводились 1 января и 2 января). Это все работает. У меня база данных огромная, и когда в датапиккере перехожу между таблицами идет большая закачка данных. Из-за этого упростила комбобоксом. Суть в том, чтобы при выборе месяца - январь, пользователи через сами датапиккеры не могли выбрать другой месяц. извините кода с собой нет, напишу на память:
Код:
procedure cb_periodChange();
var dtd:string;
y,m,d:word;
i:integer;
begin
 dtd:=copy(cb_period.Text,1,2)+'.'+TRIM(cb_year.Text);
 DecodeDate(db_end.Date,y,m,d);
 if StrToDate(AnsiRightStr('0'+IntToStr(d),2)+'.'+dtd)>Date then
 begin
  showmessage('Неправильно выбран период!');
  cb_period.SelectAll;
  db_begin.Date:=StrToDate(AnsiRightStr('0'+IntToStr(d-1),2)+'.'+dtd);
  db_end.Date:=StrToDate(AnsiRighrStr('0'+IntToStr(d),2)+'.'+dtd);
  dbgrideh1.DataSource.DataSet.Close;
  exit;
 end else
 begin
  i:=DaysInMonth(StrToDate('01.'+dtd));
  db_begin.MaxDate:=StrToDate(AnsiRightStr('0'+IntTostr(i),2)+'.'+dtd);
  db_begin.MinDate:=StrToDate('01.'+dtd);
  db_end.MaxDate:=StrToDate(AnsiRightStr('0'+IntTostr(i),2)+'.'+dtd);
  db_end.MinDate:=StrToDate('01.'+dtd);
  tlb_updateClick(self);
 end;
end;
последние с датами точно не помню там переменные, и ошибка даже не в этом.
Допустим запустила , выбрала январь - комбобокс захлопнулся - дбгрид заполнился данными и в датапиккерах можно просматривать - только январь. Это Правильно. Но если в комбоксе я выберу февраль, выходит ошибка что типа уже есть максимальная дата 30 января. Это я понимаю, но неужели в коде MaxDate И MinDate перезаписать никак?

Последний раз редактировалось Регина, 05.05.2011 в 20:13.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025