Страница 6 из 13

Re: Доработки Rx

СообщениеДобавлено: 30.03.2018 19:56:05
alexs
Посмотрим.

Re: Доработки Rx

СообщениеДобавлено: 05.04.2018 12:12:49
alexs
Смотри версию 6291.
Так устроит?

PS
Вот не нравится мне, как реализовано это окно фильтрации. Надо бы переписать.

Re: Доработки Rx

СообщениеДобавлено: 07.04.2018 09:13:35
kit
alexs писал(а):Так устроит?

Пока да. ) Спасибо!

Re: Доработки Rx

СообщениеДобавлено: 23.04.2018 20:38:41
VirtUX
Хочу выразить благодарность за RxDateEdit. Стандартный DateEdit не работает под Mac OS X. А Ваш работает норм. Единственное пожелание, добавить в него свойство DateFormat (не нашел в компоненте), чтобы можно было указывать для каждого отдельно формат вывода.

Re: Доработки Rx

СообщениеДобавлено: 24.04.2018 10:36:06
alexs
А в чём необходимость задания формата индивидуально?

Сейчас там все берётся настройки из системы. На мой взгляд - это правильно. Не хорошо - когда ваша программа на рабочем месте ведёт себя не так, как все остальные программы и сама система. Или в Mac OS X совсем экзотические форматы? :-)
Там ещё есть настройка на кол-во знаков при отображении года - YearDigits.

Re: Доработки Rx

СообщениеДобавлено: 24.04.2018 13:17:31
VirtUX
Кстати про YearDigits. Пока не укажешь явно количество знаков, то в свойстве Text абракадабра при выбранном параметре "показывать текущую дату по умолчанию".
Если не корректировать формат, то по умолчанию (по крайней мере в Mac OS X) дата в компоненте выглядит ММ/ДД/ГГ. При этом в настройках системы стоит ДД.ММ.ГГГГ. Поэтому задаю при старте основного потока:
Код: Выделить всё
  FormatSettings.DateSeparator:= '.';
  FormatSettings.LongDateFormat:= 'dd.mm.yyyy';
  FormatSettings.ShortDateFormat:= 'dd.mm.yy';

Но в некоторых фреймах программы нужен индивидуальный формат отображения. Поэтому приходится извращаться с переключением настроек FormatSettings перед выводом.
В принципе, я думаю это частный случай, так что можно и не добавлять такой параметр. Хотя в стандартном DateEdit он есть ;)

Re: Доработки Rx

СообщениеДобавлено: 24.04.2018 13:44:11
alexs
VirtUX писал(а):Поэтому задаю при старте основного потока:

У меня вообще это штатное начало всех программ :-)
Ещё не забудь про:
Код: Выделить всё
  DefaultFormatSettings.ThousandSeparator:=' ';
  DefaultFormatSettings.CurrencyString:='р.';


VirtUX писал(а):Но в некоторых фреймах программы нужен индивидуальный формат отображения.

Там надо подумать. Там же ещё формат маски редактора завязан.

Re: Доработки Rx

СообщениеДобавлено: 03.05.2018 09:25:28
kit
Можна сделать правильную сортировку дат в списке значений фильтра в таблице?

Код: Выделить всё
function CompareDates(List: TStringList; Index1, Index: Integer): Integer;
var
  d1, d2: TDateTime;
begin
  TryStrToDateTime(List[Index1], d1);
  TryStrToDateTime(List[Index], d2);
  Result := -CompareDate(d1, d2);
end;

procedure TRxDBGrid.FillFilterData;
...
  for i := 0 to Columns.Count - 1 do
  begin
    C := TRxColumn(Columns[i]);
    if C.Field.DataType = ftDate then begin
      c.Filter.ValueList.SortStyle := sslUser;
      C.Filter.ValueList.CustomSort(@CompareDates);
    end;
  end;

Re: Доработки Rx

СообщениеДобавлено: 03.05.2018 17:34:50
alexs
Можно.
Сделаю. Разберусь сначала с последними изменениями с LCL - там Grid и DBGrid немного поменяли интерфейсы. Надо дописать в соответствии с этим RxDBGrid.

Re: Доработки Rx

СообщениеДобавлено: 04.05.2018 09:18:41
kit
Можна добавить возможность вернуть дефолтние значения длинни и сортировки колонок, напримор добавить кнопку Default на rxDBGridColumsForm?

Re: Доработки Rx

СообщениеДобавлено: 04.05.2018 11:57:28
alexs
Она нигде не сохранятся. Это только ещё один комплект переменных вводить для хранения?

Re: Доработки Rx

СообщениеДобавлено: 05.05.2018 08:37:06
kit
Проблема в том что если добавляю поле в таблицу то колонка в гриде добавляется в конец, может из-за Ini-файла, а нужно по середине. Приходиться вручную передвигать или что-то типа такого: IniPropStorage.EraseSections i DBGrid.Columns.Clear;
или в procedure TRxDBGrid.OnIniLoad(Sender: TObject);
...
if (ACount = FVersion) and (ACount = Columns.Count) then

или
if (ACount = Columns.Count) then // kit
C.Index := Min(FPropertyStorageLink.Storage.ReadInteger(S1 + sIndex, C.Index), Columns.Count - 1);

Re: Доработки Rx

СообщениеДобавлено: 07.05.2018 10:37:45
alexs
Если ты подключил сохранение настроек - то просто увеличь у грида номер версии - поле Version
Оно для этого предназначено.

Re: Доработки Rx

СообщениеДобавлено: 08.05.2018 16:34:40
alexs
kit писал(а):Можна сделать правильную сортировку дат в списке значений фильтра в таблице?

Смотри ревизию 6396.

Хотел аналог сделать и для числовых полей - с наскока не получилось.

Re: Доработки Rx

СообщениеДобавлено: 09.05.2018 08:58:23
kit
Чем rxpopupnotifier лучше tpopupnotifier?