powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
11 сообщений из 11, страница 1 из 1
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880339
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давно не брал в руки шашек, а тут возникла необходимость заюзать сабж. Надо программно добавить несколько записей.
Делаю так:
Код: pascal
1.
2.
3.
4.
gUsers.DataController.Insert
gUsers.DataController.SetValue(0, 0, 'test1');
gUsers.DataController.SetValue(0, 1, 'test2');
gUsers.DataController.Post;

И... ничего не происходит. Грид подмаргивает кнопочками навигатора и всё. При этом руками все вставляется и сохраняется.
Вот такой код
Код: pascal
1.
2.
3.
4.
gUsers.DataController.Edit
gUsers.DataController.SetValue(0, 0, 'test1');
gUsers.DataController.SetValue(0, 1, 'test2');
gUsers.DataController.Post;

выполняется на ура, запись, которую я создал руками спокойно меняется.
Если обычный Post заменить на PostEditingData -
Код: pascal
1.
gUsers.DataController.PostEditingData;


то значения появляются в эдитах грида, но Post не дает результата - после него они пропадают.
Я упускаю какую-то банальную вещь, но не могу понять какую. В чём может быть дело?
...
Рейтинг: 0 / 0
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880381
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99,

а твоя реализация наследника TcxCustomDataSource имеет реализацию методов InsertRecord, AppendRecord?

И GetRecordCount возвращает новое значение, после добавления? И в самом гриде добавление не запрещено?
...
Рейтинг: 0 / 0
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880389
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99, в реализации Insert/Append в конце не забываем вызывать DataChanged() .

афторIn a grid control, records are inserted in a view when the end user presses the INS key. This functionality is enabled if the view's OptionsData.Inserting property is set to True. Otherwise, pressing the INS key performs no action.

When implementing the InsertRecord method, you should insert a new empty record within your custom data source and then call the DataChanged method. You should also return the handle of the new record (a unique value which will be used later as this record's identifier).
...
Рейтинг: 0 / 0
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880405
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё,
А у меня вообще нету реализации кастомдата, не добавлял. Она мне как бы не нужна. Могу ошибаться, но я так понял, что грид виртуальный и сам должен все делать. Кастомдата нужна если необходимо какой-то свой провайдер данных городить, типа из/в файла читать/писать и т.п. А мне надо аналог простой таблички в памяти в симбиозе с гридом.

В общем, пошел я смотреть исходники, код метода Post. И тут же увидел проблему:
Код: pascal
1.
2.
    if IsInserting and not IsModified and not AForcePost then
      Cancel

По итогу я сделал "ForcePost" - Post(true) и запись вставилась. Но всё-таки хотелось бы разобраться, потому что судя по коду, при AForcePost = false (это по умолчанию) запись не будет вставлена никогда. Это баг или фича?
...
Рейтинг: 0 / 0
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880425
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёёGluck99, в реализации Insert/Append в конце не забываем вызывать DataChanged() .

афторWhen implementing the InsertRecord method, you should insert a new empty record within your custom data source and then call the DataChanged method. You should also return the handle of the new record (a unique value which will be used later as this record's identifier).

Всё правильно, только вызов DataChanged генерит ошибку, потому что у меня не реализован "custom data source".
...
Рейтинг: 0 / 0
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880430
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99,

ну так реализуй. Какой вообще без него смысл?
...
Рейтинг: 0 / 0
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880435
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёёGluck99,
ну так реализуй. Какой вообще без него смысл?А зачем он мне? Мне нужен простой массив Values[], связанный с набором TextEditor, чем, собственно, VirtualVerticalGrid и является. CustomDataSource уже надстройка над этим механизмом. Я так понимаю. В конце концов, ручная набивка данными работает по умолчанию без всякого CustomDataSource. Т.е. вопрос "Какой вообще без него смысл?" повисает в воздухе, т.к. 100% грамотно на него может ответить только разработчик.
...
Рейтинг: 0 / 0
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880441
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может commit забыл?
...
Рейтинг: 0 / 0
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880460
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Может commit забыл?Имхо, это к DBGrid'ам относится, у меня просто виртуальный. Я уже проблему решил (см. выше), но был бы признателен, если бы кто-нибудь дал комментарий по функционалу, может кто изучал вопрос глубже.
...
Рейтинг: 0 / 0
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880464
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99,

я сплошь и рядом использую такой контрол, но даже не подозревал, что можно без написания своего датасорца.
Может, у меня девки старые.
...
Рейтинг: 0 / 0
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
    #39880796
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99Но всё-таки хотелось бы разобраться, потому что судя по коду, при AForcePost = false (это по умолчанию) запись не будет вставлена никогда. Это баг или фича?
Если есть исходники - то это всего лишь вопрос времени.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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