• 0
ulansaran

Не удается поменять первый день недели в TCalendarEdit

Вопросы

Здравствуйте!

 

Не могу управлять данным компонентом.

 

Например, устанавливаю свойство 

TСalendarEdit1.FirstDayOfWeek := TCalDayOfWeek.dowMonday;

Но первый день недели всё равно начинается с воскресенья! 

  • Разработка в: RAD Studio XE5
  • Развертывание приложения на Android 4.4.4
Изменено пользователем Brovin Yaroslav

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 ответ на этот вопрос

  • 0

По вашей личной просьбе обратил внимание на этот вопрос, но у меня Delphi XE6, т.е. проверить на XE5 просто нет возможности.

 

Что необходимо знать:

  1. Компонент, который вы используете, является устаревшим, т.е. начиная с версии XE6 этого компонента нет в среде
  2. Что предлагают использовать вместо него – это компонент TDateEdit (Пример: Mobile Tutorial: Using a Calendar Component to Pick a Date (iOS and Android))
  3. Я также попробовал использовать компонент TCalendar(Пример: FMX.DateTimeCtrls.TCalendar), и изменял в рантайме свойство, которое вы предложили, всё работает отлично.

Выходы, которые вижу я:

  • Найти человека с XE5 и попросить воспроизвести вашу ситуацию.
  • Поставить более новую версию среды разработки и использовать новый компонент, который заменяет старый.
Изменено пользователем Andrey Yefimov
добавил примеры

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Похожий контент

    • От asd
      Всем доброго дня!
       
      Задавал этот вопрос на Stackowerflow, но ответа не получил даже с учетом выделенного bounty http://stackoverflow.com/q/32258525/5043424. Сущность вопроса в следующем. Создается колонка для FMX TGrid: 
      type TDatecell = class(TCalendarEdit) end; TDateColumn = class(TColumn) private function CreateCellControl: TStyledControl; override; public constructor Create(AOwner: TComponent); override; end; ... constructor TDateColumn.Create(AOwner: TComponent); begin inherited; end; function TDateColumn.CreateCellControl: TStyledControl; begin Result := TDatecell.Create(Self); end; Все работает. Такую колонку можно добавить в TGrid. Не получается ее связать с полем FDQuery, получающим данные из поля MySQL типа date. 
      Пробовал в runtime вызывать нечто такое:
      LinkGridToDataSourceBindSourceDB1.Columns.Add; LinkGridToDataSourceBindSourceDB1.Columns.Items [LinkGridToDataSourceBindSourceDB1.Columns.Count-1]. MemberName:='date_set_by_user'; но этот код удаляет все колонки (если они не были определены и определялись автоматически согласно списка полей) и добавляет вместо них колонку - экземпляр класса TColumn. Подскажите, как связать колонку своего типа с TDataSet или как указать свой тип колонки в LinkGridToDataSourceBindSourceDB1.Columns? Я представляю, как заполнить TGrid вручную, но, мне кажется, это замедлит код и вынудит писать обработчики изменения DataState и вручную прописывать все изменения во всех ячейках в DataSet, а также реакцию DS на изменение выделения строки в TGrid. OnGetValue не срабатывает, если есть LiveBindings Link... Подскажите, пожалуйста, как это сделать. Застрял...
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу