powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TRxDBGrid, TJvDBGrid - формат при вводе в поле Дата
4 сообщений из 4, страница 1 из 1
TRxDBGrid, TJvDBGrid - формат при вводе в поле Дата
    #40095293
m52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте,

У TADOQuery есть Fields (поля) и среди этих полей есть поля типа Дата
Ввод даты напрямую в грид.

Если в системе задан Краткий формат даты "dd.MM.yyyy", то ввожу например 10.09.2021 и всё отлично работает.
Если в системе задан Краткий формат даты "ddd dd.MM.yyyy", то ввожу например Пт 10 09 2021 и ругается, что неправильная дата.

Вопрос: как решить проблему ввода даты в грид, если в системе задан Краткий формат даты "ddd dd.MM.yyyy" ?

Можно ли к гриду прицепить раскрывающийся календарик, типа TJvDateEdit, чтобы можно было распахнуть его и выбрать дату на календаре?

Заранее благодарен за любые идеи и советы.
...
Рейтинг: 0 / 0
TRxDBGrid, TJvDBGrid - формат при вводе в поле Дата
    #40095294
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m52,

Поменяй формат даты, а у колонки сделай обработчик OnGetText, где показывай данные в желаемом формате
...
Рейтинг: 0 / 0
TRxDBGrid, TJvDBGrid - формат при вводе в поле Дата
    #40095299
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m52> Если в системе задан Краткий формат даты "ddd dd.MM.yyyy", то ...

... надо расстрелять таких идиётов.

> Вопрос: как решить проблему ввода даты в грид, если
> в системе задан Краткий формат даты "ddd dd.MM.yyyy" ?

Наплевать на него и вводить, как считаешь нужным -
задавая свой формат (для чего есть несколько вариантов).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
TRxDBGrid, TJvDBGrid - формат при вводе в поле Дата
    #40095626
m52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел обходное решение - сделал в ячейке кнопочку с троеточием '...' (для этого у колонки грида ButtonStyle=cbsEllipsis и обработал событие grid.OnEditButtonClick - клик по этой кнопке). При клике по кнопке вызываю свою форму с выпадающим календариком, где можно выбрать дату и это будет работать при любом формате, включая "ddd dd.MM.yyyy"

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
procedure TMainForm.gridEditButtonClick(Sender: TObject);
begin
  if gridUpdates.SelectedField.FieldName='ExpireDate' then
  begin
    if grid.SelectedField.FieldName='FieldDate' then
    begin
        with TCalendarForm.create(nil) do
        try
          dt.Date:=qr.FieldByName('FieldDate').AsDateTime;

          if ShowModal<>mrOK then exit;

          qr.Edit;
          qr.FieldByName('FieldDate').AsDateTime:=dt.Date;
          qr.Post;

          SelectNext(ActiveControl,True,True); // Focus to next control, чтобы сохранилось значение
        finally
          free;
        end;
  end;
end;


Согласен, что решение "так себе", было бы конечно лучше сделать DropDown календарика прямо в ячейке грида, но пока этого не удалось сделать.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TRxDBGrid, TJvDBGrid - формат при вводе в поле Дата
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]