Глюки rxDBGrid

Модераторы: alexs, Модераторы

Re: Глюки rxDBGrid

Сообщение rellai2 » 09.12.2016 10:29:53

Еще глюк RXDBGrid нашел.
если RXDBGrid отображает данные из rxMemData то все ок - сортировка по полю работает
если RXDBGrid отображает данные из tzReadOnlyQuery - сортировка не работает вообще, хотя в капшене значек сортировки появляется.
Можно ли как то исправить?
rellai2
постоялец
 
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

Re: Глюки rxDBGrid

Сообщение alexs » 10.12.2016 14:06:43

а компоненту-сортировщик положил в проект? находится в пакете rx_sort_fbdataset.lpk
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение rellai2 » 12.12.2016 09:46:21

Да спасибо! Установил rx_sort_zeos, кинул на форму и все заработало!
rellai2
постоялец
 
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

Re: Глюки rxDBGrid

Сообщение alexs » 12.12.2016 17:52:46

Кто бы документацию написал? :D
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение Naumoff » 27.12.2016 20:10:25

Обновил RxLib из SVN. В DbGrid перестал рисоваться текст первой колонки. Пару месяцев назад я этот глюк уже встречал, а вот как поборол не помню. Никто не сталкивался?
Вспомнил. В DefaultDrawColumnCell индексация столбцов в те времена с 1 начиналась, теперь как положено.
Naumoff
новенький
 
Сообщения: 11
Зарегистрирован: 13.08.2016 19:32:20

Re: Глюки rxDBGrid

Сообщение kit » 29.12.2016 12:38:24

Жутко тормозит "Фильтр в таблице" если FooterOption.Active
Может лучше обробативать не все колонки а по востребованию (после нажатия на кнопку активации фильтра колонки)

procedure TRxDBGrid.OnFilter(Sender: TObject);
var
C: TRxColumn;
i: integer;
FBS, FAS:TDataSetNotifyEvent;
FooterActive: Boolean;
begin
BeginUpdate;

FooterActive := FooterOptions.Active; // kit
FooterOptions.Active := False; // kit

OptionsRx := OptionsRx + [rdgFilter];

for i := 0 to Columns.Count - 1 do
begin
C := TRxColumn(Columns[i]);
C.Filter.ValueList.Clear;
C.Filter.Value := '';
C.Filter.ItemIndex := -1;
C.Filter.ValueList.Add(C.Filter.EmptyValue);
C.Filter.ValueList.Add(C.Filter.AllValue);
end;
kit
постоялец
 
Сообщения: 156
Зарегистрирован: 29.09.2016 09:39:07

Re: Глюки rxDBGrid

Сообщение zoltanleo » 09.01.2017 18:03:05

Решил переустановить текущий транк
Код: Выделить всё
rxversinfo.pas(310,21) Error: Identifier not found "LCLPlatformDisplayNames"

:shock:

Lazarus 1.7(rev. 52463); FPC 3.1.1(rev.33700), Windows 7 x64 Prof; Debian 8,5 i386

Update: на версии 1.6.2 то же самое
Update2: откатился до ревизии 5451
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 457
Зарегистрирован: 17.10.2013 10:55:01

Re: Глюки rxDBGrid

Сообщение alexs » 10.01.2017 13:39:01

Возьми лазарь текущий
Там изменили константы для определения версии IDE и LCL
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение zoltanleo » 10.01.2017 17:46:10

alexs писал(а):Возьми лазарь текущий


А сейчас транк какой: 1.7 или 1.8?
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 457
Зарегистрирован: 17.10.2013 10:55:01

Re: Глюки rxDBGrid

Сообщение Лекс Айрин » 10.01.2017 17:51:32

zoltanleo, 1.7. транки только нечетные.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Глюки rxDBGrid

Сообщение zoltanleo » 10.01.2017 18:50:45

Лекс Айрин писал(а):транки только нечетные.


точно, запамятовал :)

Так у меня в подписи
Lazarus 1.7(rev. 52463); FPC 3.1.1(rev.33700), Windows 7 x64 Prof; Debian 8,5 i386


С какой ревизии?
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 457
Зарегистрирован: 17.10.2013 10:55:01

Re: Глюки rxDBGrid

Сообщение alexs » 11.01.2017 09:15:47

Да там практически на следующий день была моя правка. Бери текущую (сейчас это 53921)
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение ra9ftm » 07.08.2017 18:01:46

Хотелось бы сделать столбец с CheckBox'ами, не связанными с БД.

Работает как описано здесь http://wiki.freepascal.org/Grids_Reference_Page/ru "Selecting Records in a DBGrid using checkboxes"
через RBookmarklist. Но при сортировке сбивается отображение CheckBox'ов.

в этом месте что-то пошло не так
procedure TForm1.DBGrid1UserCheckboxState(sender: TObject; column: TColumn; var AState: TCheckboxState);
begin
if RecList.CurrentRowSelected then
AState := cbChecked
else
AState := cbUnchecked;
end;


Может быть есть другой способ?
Использую с zeos TZQuery, TZConnection, firebird.

Добавлено спустя 4 часа 49 минут 16 секунд:
Переделал как-то так (может есть более изящный способ?):
Добавить RxMemoryData
TZQuery столбец с FieldKind=Calculated
ZQuery событие OnCalcFields:

procedure TForm1.ZQuery1CalcFields(DataSet: TDataSet);
var
id:integer;
begin
id:=dataset.FieldByName('ID').AsInteger;
if RxMemoryData1.Active then
if RxMemoryData1.Locate('ID',id,[])
then dataset.FieldByName('Checked').AsBoolean:= RxMemoryData1.FieldByName('Checked').AsBoolean
else dataset.FieldByName('Checked').AsBoolean:=false;
end;


RXDBgrid событие OnCellClick:

if Column.Title.Caption='Выбор' then begin
with rxdbgrid1.DataSource do begin
if RxMemoryData1.Locate('ID',dataset.FieldByName('ID').AsInteger,[]) then
begin
RxMemoryData1.Edit;
RxMemoryData1.FieldByName('Checked').AsBoolean:=dataset.FieldByName('Checked').AsBoolean;
end else
RxMemoryData1.AppendRecord( [dataset.FieldByName('ID').AsInteger,
dataset.FieldByName('Checked').AsBoolean] );
end;
end;

соответственно в БД и RxMemoryData колонки ID integer, Checked boolean
ra9ftm
незнакомец
 
Сообщения: 2
Зарегистрирован: 07.08.2017 17:53:59

Re: Глюки rxDBGrid

Сообщение ra9ftm » 14.08.2017 23:03:59

при включенной опции rdgfilter вертикальный Scrollbar всегда одной длины, очень неудобно его использовать и конечно перестает работать dgThumbTracking.
ra9ftm
незнакомец
 
Сообщения: 2
Зарегистрирован: 07.08.2017 17:53:59

Re: Глюки rxDBGrid

Сообщение alexs » 15.08.2017 09:23:11

ra9ftm писал(а):при включенной опции rdgfilter

Это вопрос к датасету, кототрый подключен к гриду. Он не возвращает в этом случае кол-во записей. ZEOS тут себя кажется ведёт верно. Остальные - как получится.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Пред.След.

Вернуться в RxLib

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

Рейтинг@Mail.ru