|
|
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
Всем добрый день, по определённому условию надо запретить редактирование отдельной ячейки в TDBGrid. Не всей колонки а именно одной ячейки в ней или на худой конец просто удалить из этой ячейки компонент для редактирования. Была мысль в DrawColumnCell через DrawFrameControl но не вижу подходяшего флага: Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. есть какие ещё идеи у кого? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 12:41 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
03.03.2021 12:41, hlopotun пишет: > есть какие ещё идеи у кого? лови событие ДатаСета и прерывай его Абортом Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 12:50 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий лови событие ДатаСета и прерывай его Абортом Если уже лепить костыль, то тогда на какой-нибудь TField.OnChange/OnValidate/ReadOnly ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 12:57 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
03.03.2021 12:57, _Vasilisk_ пишет: > > Если уже лепить костыль, то тогда на какой-нибудь TField.OnChange/OnValidate/ReadOnly тоже криво. по-хорошему нужно плодить наследника и перекрывать в нём function CreateEditor: TInplaceEdit; override; Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 13:10 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Мимопроходящий лови событие ДатаСета и прерывай его Абортом Если уже лепить костыль, то тогда на какой-нибудь TField.OnChange/OnValidate/ReadOnly С ReadOnly уже пробовал, он всю колонку делает ReadOnly ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 13:15 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
03.03.2021 13:15, hlopotun пишет: > С ReadOnly уже пробовал, он всю колонку делает ReadOnly о! ысчо одна идея-костыль возникла: лови AfterScroll, анализируй нужные тебе поля и выставляй/сбрасывай ReadOnly Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 13:18 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, сделал в onValidate но из некрасивостей осталось сама возможность ввода текста в это поле, хоть он потом и удаляется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 13:23 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
См. ColEnter, ColExit и играй с ReadOnly. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 13:30 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
hlopotun С ReadOnly уже пробовал, он всю колонку делает ReadOnly ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 18:26 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
Можно проверять условие в событии DataChange нужного DataSource и уже по условиям выставлять и снимать ReadOnly нужному столбцу в наборе данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 18:29 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
03.03.2021 18:29, Sergey1979 пишет: > Можно проверять условие в событии DataChange нужного DataSource и уже по условиям выставлять и снимать ReadOnly нужному столбцу в наборе данных. оно реагирует на любой чих. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 18:33 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
hlopotun есть какие ещё идеи у кого? У TDataSet есть "процедурное" свойство BeforeEdit. Навесь на него процедуру-событие. В процедуре проверяй свое условие, и, если редактировать "нельзя" - вызывай Abort. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 19:07 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
03.03.2021 19:07, ъъъъъ пишет: > У TDataSet есть "процедурное" свойство BeforeEdit. Навесь на него процедуру-событие. > В процедуре проверяй свое условие, и, если редактировать "нельзя" - вызывай Abort. он может начать редактирование в "дозволенном" поле, а потом перейти в "запретное", не дёргая Post Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 19:10 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, да. Тогда - хардкор. Зовём Abort в OnKeyPress грида. Например: Код: pascal 1. 2. 3. 4. 5. 6. 7. Работает... почти... ещё события мышки отловить:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 19:24 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
03.03.2021 19:24, ъъъъъ пишет: > Работает... почти... ещё события мышки отловить:) лучше я пойду портвейну жахну! Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 19:34 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
Ну что вы здесь развели? Какие Abort? Какие события мышки? Ведь все просто же Код: pascal 1. 2. 3. 4. Всё! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 21:16 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, зашибись . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2021, 21:22 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Ведь все просто же То есть после редактирования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2021, 09:49 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
wadman _Vasilisk_ Ведь все просто же То есть после редактирования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2021, 10:21 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
s62 wadman пропущено... То есть после редактирования? И работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2021, 10:34 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
wadman И работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2021, 10:47 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
s62 wadman И работает? В том и дело, что запрещать редактирование стоит ДО редактирования. А его предложение позволяет отредактировать ячейку. Как минимум один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2021, 10:52 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
wadman См. ColEnter, ColExit и играй с ReadOnly. + grid.SelectedField ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2021, 10:58 |
|
||
|
Как запретить редактирование отдельной ячейки в TDBGrid
|
|||
|---|---|---|---|
|
#18+
wadman В том и дело, что запрещать редактирование стоит ДО редактирования. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2021, 14:15 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40050409&tid=2037551]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 421ms |

| 0 / 0 |
