Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];
ВнизTDateTimePicker Найти похожие ветки
← →
iviom (2007-04-13 15:27) [0]Здравствуйте.
Подскажите, пожалуйста, по поводу котнрола TDateTimePicker. Вывести в него дату получилось, при это я установила свйоства:
Format:= "dd.MM.yyyy HH.mm.ss";
Kind:= dtkTime;
Как не выводить туда дату? Чтобы в поле ничего не было?
Я использую грид, в котором или есть дата или нет (то есть NULL). И по нажатию(выделению строки) хочу выводить значение даты в данный контрол.
← →
_Аноним (2007-04-13 15:32) [1]Там есть возможность показать чек-бокс. Можно сделать так, что если null - то чек бокс выключен
← →
{RASkov} (2007-04-13 15:33) [2]> [0] iviom (13.04.07 15:27)
Выводи в обычный Edit...
> или есть дата или нет
если дата=есть тогда Edit.Text:=FormatDateTime() иначе Edit.Text:="даты почему-то нет";
← →
{RASkov} (2007-04-13 15:35) [3]> [1] _Аноним (13.04.07 15:32)
Там есть возможность показать чек-бокс. Можно сделать так, что если null - то чек бокс выключен
Думаю, будет сбивать с толку... все это. Имхо.
← →
Virgo_Style © (2007-04-13 15:41) [4]
DateTimePicker1.Format:=" "
?
← →
iviom (2007-04-13 17:07) [5]
> Выводи в обычный Edit...
В Edit никак нельзя, потому что предполагается возможность удобноо редактирования. Поэтому собственно говоря и выбран контрол, способный удобно отображать дату.
> Там есть возможность показать чек-бокс. Можно сделать так,
> что если null - то чек бокс выключен
Попробывала через чекбок, действительно можно, но смотрится как-то не по-русски =). Сереньким дата подсвечивается... Да и не каждый быстро собразит, что надо сначало поставить галочку, а потом только редактировать...
> DateTimePicker1.Format:=" " ?
А если делать так, то потом никак нельзя редактировать...
А так хочется просто вывести дату, если она есть и не выводить, если ее нет.. И дать человеку ее просто настроить, если он хочет.
← →
Virgo_Style © (2007-04-13 19:43) [6]iviom (13.04.07 17:07) [5]
А если делать так, то потом никак нельзя редактировать...
Ввести - да, не получается, а выбрать в выпадающем списке можно. Скорее всего, все же надо делать либо полностью вручную, либо использовать для ввода отдельную форму.
← →
Virgo_Style © (2007-04-13 19:51) [7]Лично мне вариант через CheckBox понравился:
ShowCheckBox =true;
procedure TForm1.DateTimePicker1Click(Sender: TObject);
begin
with (Sender as TDateTimePicker) do
if Checked then Format:="" else Format:=" ";
end;
procedure TForm1.DateTimePicker1CloseUp(Sender: TObject);
begin
DateTimePicker1Click(Sender);
end;
Иначе, imho, только несколькими контролами.
← →
{RASkov} (2007-04-13 23:54) [8]Ну может быть вот эту версию раскрутить. Без чекбокса(он всамом деле сбивает столку):
var
FModified: Boolean;
procedure TForm1.<Где-то там на OnDataChange или еще куда>;
begin
если дата=есть тогда DateTimePicker1.Format:="dd.MM.yyyy HH.mm.ss"
иначе DateTimePicker1.Format:=" ";
end;
procedure TForm1.DateTimePicker1Enter(Sender: TObject);
begin
DateTimePicker1.Format:="dd.MM.yyyy HH.mm.ss";
FModified:=False;
end;
procedure TForm1.DateTimePicker1Exit(Sender: TObject);
begin
if not FModified then DateTimePicker1.Format:=" ";
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
FModified:=True;
end;
← →
Virgo_Style © (2007-04-14 11:08) [9]{RASkov} (13.04.07 23:54) [8]
А если дата была введена, а теперь надо ее сделать Null?
Ну и вместо FModified, возможно, лучше использовать Tag, особенно если таких DateTimePicker"ов будет несколько.
← →
{RASkov} (2007-04-14 11:28) [10]> А если дата была введена, а теперь надо ее сделать Null?
Как вариант - можно обработать нажатие клавишь Del+Ctrl... например.
> Ну и вместо FModified, возможно, лучше использовать Tag,
> особенно если таких DateTimePicker"ов будет несколько.
Эт точно.
← →
_Аноним (2007-04-14 11:44) [11]Тут вопрос в том, данные доступны только для чтения, или же и для модификации (в том числе для уствновки NULL)
если первое - то выводить в эдит
если второе - то пикер с чекбокасами, имхо
← →
iviom (2007-04-18 17:07) [12]Спасибо, болшое, за ответы. Решила все-таки с чекбоксами пока попробывать.
Только вот такая странность появилась.
DateTimePicker позволяет одновременно изменить только либо дату либо время. Это зависит от свойства DateTimePicker.Kind. Если там стоит свойство dtkDate - то контрол позволяет пользователю менять дату, а если dtkTime - то время. Как бы сделать так, чтобы пользоватлеь мог менять и время и дату?
← →
_Аноним (2007-04-18 22:24) [13]
> Как бы сделать так, чтобы пользоватлеь мог менять и время
> и дату?
Два DateTimePicker"а рядом
← →
dmdel © (2007-04-19 09:23) [14]Лично я пользуюсь в этих случаях компонентом DateEdit. Это Rx-lib. Если надо, могу прислать.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.046 c