|
|
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
Есть DBGridEh. В программе делаются некоторые операции с данными (меняются значения некоторых строк, программа пробегает по строкам и меняет их, при этом строки смещаются вверх/вниз в гриде), после чего нужно вернуть строки в то-же положение, как они были до этих операций, т.е. та строка которая была в гриде первой - должна остаться так-же первой. Как такое сделать? Как узнать какая строка отображается в гриде самой верхней и как сместить строки, чтобы нужная строка стала первой в гриде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 08:54:33 |
|
||
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
Данные расположены хаотично, или всё же есть СОРТИРОВКА ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 08:56:22 |
|
||
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
Vlad_567Как такое сделать? 1. DisableControls 2. Запомнить позицию и затем вернуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 09:02:25 |
|
||
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
Я правильно понял, что Вам нужно сохранить позицию скролла в гриде? Какой у Вас грид? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 10:33:35 |
|
||
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
Vlad_567Как такое сделать? Как узнать какая строка отображается в гриде самой верхней и как сместить строки, чтобы нужная строка стала первой в гриде?Зависит от датасета. Если это мемТейблЭх, то в сортируемом поле (должно быть указано в свойствах) нужно поставить правильный порядок сортировки. Т.е. чтоб модификации не затрагивали поле сортировки. Тогда порядок сохранится. В БД-датасетах нужно просто переоткрыться с указанием правильной сортировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 10:37:24 |
|
||
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
Vlad_567Как такое сделать? имхо, задача нерешаема в принципе. Ибо в "дбгриде данных нет" ©. Текущее положение строки (читай, записи) в гриде зависит от отсортированного датасета. Поменяешь данные сортируемого поля, поменяешь их порядок. Уж если сильно принципиальная хотелка, можно вручную отрисовать данные в стринггриде. Но этот способ требует знаний выше, чем обладает задающий подобные вопросы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 12:01:09 |
|
||
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
ДокТекущее положение строки (читай, записи) в гриде зависит от отсортированного датасета. Ключевое поле меняется в очень редких случаях. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 12:31:28 |
|
||
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
Грид - DBGridEh, датасет - RxMemoryDataSet. Ключевое поле есть, оно не меняется. В программе данные в строках (не по ключевому полю) меняются местами. При этом данные в гриде передвигаются вверх/вниз. Нужно их как-то вернуть так-же как они были. Пример кода: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. На картинке: первая картинка - это в аком положении курсор, вторая картинка - после нажатия на кнопку Button2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 13:53:19 |
|
||
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
Задача лишёна смысла, поскольку после переоткрытия данных их количество может измениться, особенно в многопользовательской среде. В продвинутых гридах есть свойство TopRow, которое запоминается, а затем устанавливается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 14:04:13 |
|
||
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
Vlad_567, Попробуй DBGridEh.SaveBookmark, DBGridEh.RestoreBookmark ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 15:15:53 |
|
||
|
Как вернуть строки в Grid-e на прежнее место
|
|||
|---|---|---|---|
|
#18+
wadmanКлючевое поле меняется в очень редких случаях. :) ТС в стартовом посте не сказал, по какому полю сортирует записи DunkinПопробуй DBGridEh.SaveBookmark, DBGridEh.RestoreBookmark тынц Vlad_567При этом данные в гриде передвигаются вверх/вниз они не могут двигаться "вверх/вниз", если данные по сортируемому полю у тебя не меняются. Я так понимаю, тебе нужен фокус на той же записи. Тогда, наверное, надо перефразировать вопрос правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 15:45:14 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39546645&tid=2041645]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
186ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 449ms |

| 0 / 0 |
