|
|
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
Давно не брал в руки шашек, а тут возникла необходимость заюзать сабж. Надо программно добавить несколько записей. Делаю так: Код: pascal 1. 2. 3. 4. И... ничего не происходит. Грид подмаргивает кнопочками навигатора и всё. При этом руками все вставляется и сохраняется. Вот такой код Код: pascal 1. 2. 3. 4. выполняется на ура, запись, которую я создал руками спокойно меняется. Если обычный Post заменить на PostEditingData - Код: pascal 1. то значения появляются в эдитах грида, но Post не дает результата - после него они пропадают. Я упускаю какую-то банальную вещь, но не могу понять какую. В чём может быть дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2019, 11:29 |
|
||
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
Gluck99, а твоя реализация наследника TcxCustomDataSource имеет реализацию методов InsertRecord, AppendRecord? И GetRecordCount возвращает новое значение, после добавления? И в самом гриде добавление не запрещено? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2019, 12:17 |
|
||
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
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). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2019, 12:21 |
|
||
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
ёёёёё, А у меня вообще нету реализации кастомдата, не добавлял. Она мне как бы не нужна. Могу ошибаться, но я так понял, что грид виртуальный и сам должен все делать. Кастомдата нужна если необходимо какой-то свой провайдер данных городить, типа из/в файла читать/писать и т.п. А мне надо аналог простой таблички в памяти в симбиозе с гридом. В общем, пошел я смотреть исходники, код метода Post. И тут же увидел проблему: Код: pascal 1. 2. По итогу я сделал "ForcePost" - Post(true) и запись вставилась. Но всё-таки хотелось бы разобраться, потому что судя по коду, при AForcePost = false (это по умолчанию) запись не будет вставлена никогда. Это баг или фича? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2019, 12:47 |
|
||
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
ёёёёё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". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2019, 13:21 |
|
||
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
Gluck99, ну так реализуй. Какой вообще без него смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2019, 13:27 |
|
||
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
ёёёёёGluck99, ну так реализуй. Какой вообще без него смысл?А зачем он мне? Мне нужен простой массив Values[], связанный с набором TextEditor, чем, собственно, VirtualVerticalGrid и является. CustomDataSource уже надстройка над этим механизмом. Я так понимаю. В конце концов, ручная набивка данными работает по умолчанию без всякого CustomDataSource. Т.е. вопрос "Какой вообще без него смысл?" повисает в воздухе, т.к. 100% грамотно на него может ответить только разработчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2019, 13:36 |
|
||
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
Может commit забыл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2019, 13:40 |
|
||
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
X11Может commit забыл?Имхо, это к DBGrid'ам относится, у меня просто виртуальный. Я уже проблему решил (см. выше), но был бы признателен, если бы кто-нибудь дал комментарий по функционалу, может кто изучал вопрос глубже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2019, 14:16 |
|
||
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
Gluck99, я сплошь и рядом использую такой контрол, но даже не подозревал, что можно без написания своего датасорца. Может, у меня девки старые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2019, 14:20 |
|
||
|
TcxVirtualVerticalGrid insert/post проблема (Win10/Rio)
|
|||
|---|---|---|---|
|
#18+
Gluck99Но всё-таки хотелось бы разобраться, потому что судя по коду, при AForcePost = false (это по умолчанию) запись не будет вставлена никогда. Это баг или фича? Если есть исходники - то это всего лишь вопрос времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2019, 10:48 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39880405&tid=2038918]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 471ms |

| 0 / 0 |
