Форум по 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.
Ответить с цитированием
  #2  
Старый 05.05.2011, 20:14
Регина Регина вне форума
Прохожий
 
Регистрация: 08.04.2008
Сообщения: 15
Репутация: 10
По умолчанию

помогите пожалуйста не могу разобраться!!
Ответить с цитированием
  #3  
Старый 06.05.2011, 09:43
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Что- то не совсем понятно чего вы вообще добиваетесь. ОГРОМНАЯ база- это сколько? )) И по теме MaxDate И MinDate:
Код:
DateTimePicker1.MaxDate := ваша дата;
DateTimePicker1.MinDate := ваша дата;
Или вам непонятно где это разместить?
Ответить с цитированием
  #4  
Старый 15.05.2011, 22:32
Регина Регина вне форума
Прохожий
 
Регистрация: 08.04.2008
Сообщения: 15
Репутация: 10
По умолчанию

нет в коде же я все разместила mindate и maxdate....он у меня так работает но только для одного месяца...допустим я выбрала в календаре март - больше или меньше марта он не показывает - что и нужно было сделать. вот. но если снова в комбобоксе я выбираю например, май - в календаре тоже открывается май, но при попытке проверить чтобы пользователи не могли через сам календарь выбрать больше или меньше мая, выходит ошибка что, минимальная и максимальная дата уже задана! =( я это то понимаю конечно, но это же ведь можно как-то обойти? чтобы минимальная (макс.) значение было переменным что ли.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter