|
|
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Добрый день, Есть TDbGridEh с прицепленным TIBQuery почему-то данный код заставляет скролл грида перемещаться: Код: pascal 1. 2. 3. 4. 5. 6. Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 21:30:44 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Hug, Все правильно. DisableControls - приостанавливает отрисовку визуальных компонент. EnableControls - восстанавливает отрисовку. Но между ними у вас Locate, который перемещает курсор датасета. Вот и получается, вы заморозили набор, потом переместили курсор, и в момент, когда разморозили набор, курсор в гриде переместился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 22:33:06 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
dataset.Bookmark надо сохранить и потом восстановить еще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 23:02:09 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Hug, разве IBQMatch - визуальный компонент? С точки зрения вашей логики надо грид замораживать, а перед его "разморозкой" восстанавливать букмарки, как советовал JaDi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 23:52:48 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
ДокHug, разве IBQMatch - визуальный компонент? С точки зрения вашей логики надо грид замораживать, а перед его "разморозкой" восстанавливать букмарки, как советовал JaDiНу вот:( А зачем у IBQMatch.DisableControls метод такой по-вашему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 02:32:47 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
ДокHug, разве IBQMatch - визуальный компонент? С точки зрения вашей логики надо грид замораживать, а перед его "разморозкой" восстанавливать букмарки, как советовал JaDiIBQMatch.DisableControls внезапно замораживает все связаные с IBQMatch визуальные контролы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 03:12:14 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
rgreatДокHug, разве IBQMatch - визуальный компонент? С точки зрения вашей логики надо грид замораживать, а перед его "разморозкой" восстанавливать букмарки, как советовал JaDiIBQMatch.DisableControls внезапно замораживает все связаные с IBQMatch визуальные контролы. Ну, точнее визуальные контролы он не трогает - просто перестаёт DataSource дёргать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 09:07:17 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Relic HunterНу вот:( А зачем у IBQMatch.DisableControls метод такой по-вашему? наверное, лучше спросить у разработчика? зы. имхо, на всякий случай приделали ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 09:51:22 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
rgreatBQMatch.DisableControls внезапно замораживает все связаные с IBQMatch визуальные контролы. дело хозяйское... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 09:53:10 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
goldmi45DisableControls - приостанавливает отрисовку визуальных компонент. EnableControls - восстанавливает отрисовку. Это не совсем так. DisableControls вовсе не столь всемогуще, и отрисовку компонент полностью не убирает. Точнее, это зависит от конкретных компонентов. Простой эксперимент: - сажаем на форму ClientDataset, создаем в нем поле типа Memo. - добавляем DataSource, DBMemo, связываем это все. выполняем код cds.DisableControls; cds.Append; cds.FieldByName('TEXT').AsString := 'строка данных'; cds.Post; // EnableControls не делаем И на форме видим добавленную строку в DBMemo. Уже внутри cds.Post, несмотря на DisabledControls, DBMemo заглатывает и отображает эту строку. Стек такой: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. То есть VСL при DisabledControls не обрывает обработку события deUpdateState DataSet, а только вырабатывает особое событие, deDisabledStateChange. А TFieldDataLink все равно вызывает по нему UpdateField, и дальше идет обычная подгрузка данных в визуальный контрол. Это ясно видно в TDataSet.DataEvent: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Вообще, у DisableControls для стандартных VCL-компонентов довольно узкая сфера действия: он влияет только на DBGrid и на Detail-датасеты в Master-Detail - связках. Когда он установлен, то при сканировании по датасету DBGrid умеет не делать лишних обновлений, и в связке Master-Detail, Detail'ы не дергаются. Чтобы все же отключить визуальные компоненты от датасета, можно использовать DataSource.Enabled := False. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 10:34:25 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Добавил букмарки: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. все равно грид мотает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 11:30:30 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Hugвсе равно грид мотает Отвязывать нужно от datasource перед пробежками по датасету. Не помню точно, но вроде все наследники от стандартного грида этим страдают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 11:33:37 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
wadmanОтвязывать нужно от datasource перед пробежками по датасетуэто ж надо запоминать к чему привязан был а вот так: Cane Cat FisherЧтобы все же отключить визуальные компоненты от датасета, можно использовать DataSource.Enabled := Falseможет быть достаточно статус сменить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 11:37:59 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Встречал серьезные проблемы с TDbGridEh + MemTableEh(TreeList) +FireDAC+ + Bookmark Была задача выделенное в гриде обработать. Обходил по списку букмарков. Но после успешного окончания обхода, грид просто бесился и фактически не мог работать. Не удалось залечить ни Locatе-ом ни DisableControls/EnableControls. Только переоткрытие обоих датасетов и локейт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 11:41:14 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Багрепорт, не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 11:56:32 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
rgreatБагрепорт, не? В эмбаркадеру? Ну лет через 10 может и исправят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 12:09:36 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
По опыту моих багов - реально где-то 6-12 месяцев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 16:01:11 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Хотя просто поныть на форуме - это конечно "разумная альтернатива". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 16:01:53 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
rgreatПо опыту моих багов - реально где-то 6-12 месяцев.И в итоге "покупайте новую версию" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 16:22:44 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_rgreatПо опыту моих багов - реально где-то 6-12 месяцев.И в итоге "покупайте новую версию" Покупайте Support&Maintance. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 17:43:01 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
LSVТолько переоткрытие обоих датасетов и локейт. не могу переоткрывать датасет, так как есть калькулирумые поля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2017, 16:29:30 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. все равно в каких-то случаях происходит перемотка грида(скрола), запись которая визуально была 3 в окне отображения, ставноится первой (происходит "дерганье") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2017, 16:36:20 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
TDBGridEh.SaveBookmark\TDBGridEh.RestoreBookmark. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2017, 17:05:16 |
|
||
|
DisableControls не работает
|
|||
|---|---|---|---|
|
#18+
Hugвсе равно в каких-то случаях происходит перемотка грида(скрола), запись которая визуально была 3 в окне отображения, ставноится первой (происходит "дерганье") Это нормально (букмарк работает для датасета). Необходимо перед обновлением запомнить порядковый номер строки и восстановить на нее фокус после обновления. Про стандартный грид подсказать не могу -- но может есть какое свойства типа grid.FirstVisibleIndex ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2017, 19:20:18 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39550849&tid=2041604]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 518ms |

| 0 / 0 |
