Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxgrid колонка checkbox при установке галочки дублирует строки / 14 сообщений из 14, страница 1 из 1
19.06.2019, 11:06
    #39828209
evgen29
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
Здравствуйте! Проблема такая(опишу полностью, вдруг ошибка глубже):
есть cxGrid1 и cxgrid2. cxgrid1 привязан к fibdataset1. cxgrid2 привязан к fibdataset2.
fibdataset1 с fibdataset2 связаны через master-detail(fibdataset2 имеет в поле datasource привязку через datasource к fibdataset1)

так вот, cxgrid2 имеет поля id,name,ischecked типа checkbox. При нажатии на checkbox и переходе на другую строку id и name дублируются из первой записи в строке, на которую перешел. Сколько бы раз я не поставил галочку, то сразу id и name в строке, где проставлена галочка, встают такими же, как у первой строки. Но когда закрываю и открываю форму заново, то id и name встают нормальными и галочка на нужных чекбоксах проставлена. Такое впечатление, что cxgrid тащит значения в кеше.
картинка во вложении
...
Рейтинг: 0 / 0
19.06.2019, 11:28
    #39828237
Hammer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
evgen29,

TcxColumn -> Properties -> ImmediatePost = True?
...
Рейтинг: 0 / 0
19.06.2019, 11:36
    #39828240
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
Такое чувствo, будто свойство грида .KeyField не выставлено и грид из-за этого сходит с ума
...
Рейтинг: 0 / 0
19.06.2019, 11:39
    #39828244
evgen29
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
Hammer, да
...
Рейтинг: 0 / 0
19.06.2019, 11:47
    #39828245
evgen29
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
Кроик СемёнТакое чувствo, будто свойство грида .KeyField не выставлено и грид из-за этого сходит с ума
выставил, не помогло к сожалению.
...
Рейтинг: 0 / 0
19.06.2019, 11:59
    #39828250
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
это поле с уникальными значениями?
...
Рейтинг: 0 / 0
19.06.2019, 12:08
    #39828254
evgen29
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
Кроик Семён, конечно
1, 2, 3, 4 и тд.

в DBTableView -> DataController -> KeyFieldNames поставил Id, не помогает
сейчас попробую еще связать помимо датасетов и гриды по полю группы.

просто почему-то если не переходить к примеру на новую строку и immediatepost не сработает, а просто нажать галочку зеленую, то как раз после нее идет дублирование, как на картинке
...
Рейтинг: 0 / 0
19.06.2019, 12:56
    #39828302
evgen29
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
поставил в fibdataset refreshafterpost = false и грид перестал сходить с ума
...
Рейтинг: 0 / 0
19.06.2019, 13:47
    #39828366
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
evgen29, у fibDataSet есть RefreshSQL. Там нужно прописать запрос на обновление текущей записи, указав параметр ключа с приставкой OLD_evgen29,
...
Рейтинг: 0 / 0
19.06.2019, 13:49
    #39828368
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
исправил.....
evgen29, у fibDataSet есть RefreshSQL. Там нужно прописать запрос на обновление текущей записи, указав параметр ключа с приставкой OLD_
...
Рейтинг: 0 / 0
19.06.2019, 17:29
    #39828515
evgen29
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
goldmi45,
у меня RefreshSQL и SelectSQL одинаковы. Вызывают процедуру firebird с кодом группы на входе. Разве RefreshSQL нужен для обновления одной записи, которая изменилась, а не всего набора данных? Просто в процедуру кроме кода группы ничего не передаю. Я могу конечно сделать в процедуре дополнительный параметр на одно поле, но мне просто не совсем понятна суть RefreshSQL

Код: plsql
1.
2.
select * from 
GET_GROUP_RIGHTS(:mas_group_id)
...
Рейтинг: 0 / 0
20.06.2019, 08:22
    #39828641
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
evgen29, вызов метода refresh будет перечитывать одну текущую запись. И если возвращается набор из нескольких записей, то он берёт первую и обновляет текущую (что у вас и происходит).
Можно так:
Код: sql
1.
2.
select * from GET_GROUP_RIGHTS
where Id=:OLD_Id


Где (select * from GET_GROUP_RIGHTS) - это запрос в SelectSQL, а Id - ключевое поле.
...
Рейтинг: 0 / 0
20.06.2019, 12:45
    #39828749
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
ключевое поле должно быть уникальным
...
Рейтинг: 0 / 0
20.06.2019, 13:10
    #39828761
evgen29
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxgrid колонка checkbox при установке галочки дублирует строки
goldmi45,
спасибо, так работает
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxgrid колонка checkbox при установке галочки дублирует строки / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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