|
|
|
ReadOnly в гриде по условию
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Специфика задачи (ввод отчетности) такова, что необходимо редактировать информацию прямо в гриде (в связи с большим объемом вводимой информации, для большей скорости ввода). Но редактирование некоторых строк надо запретить. Где лучше писать условие для запрета/разрешения редактирования в ячейках грида? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 08:26:18 |
|
||
|
ReadOnly в гриде по условию
|
|||
|---|---|---|---|
|
#18+
Hi, Katya_G ! Наверно можно по-разному. Можно вставить проверку в методы BeforeRowColChange и AfterRowColChange грида. К примеру в оба вставляем: this.ReadOnly=IIF(pole1%2=0,.T.,.F.) - если в поле pole1 - четное число, запись не редактируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 10:22:32 |
|
||
|
ReadOnly в гриде по условию
|
|||
|---|---|---|---|
|
#18+
Katya_GЗдравствуйте! Специфика задачи (ввод отчетности) такова, что необходимо редактировать информацию прямо в гриде (в связи с большим объемом вводимой информации, для большей скорости ввода). Но редактирование некоторых строк надо запретить. Где лучше писать условие для запрета/разрешения редактирования в ячейках грида? Hi, Katya_G! Я бы сделал так: Создать PROPERTY для формы: THISFORM.Old_row_grd = 0 THISFORM.Grid.ReadOnly = .F. В методе THISFORM.Grid.AfterRowColChange: IF THIS.ActiveRow <> THISFORM.Old_row_grd THISFORM.Old_row_grd = THIS.ActiveRow IF < ... проверку что строка д.б. редактируемая THIS.Colomn1.ReadOnly = .T. THIS.Colomn1.Txt1.ReadOnly = .T. ... ELSE THIS.Colomn1.ReadOnly = .F. THIS.Colomn1.Txt1.ReadOnly = .F. ... ENDIF ENDIF И пользователь редактирует те поля которые разрешены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 10:26:06 |
|
||
|
ReadOnly в гриде по условию
|
|||
|---|---|---|---|
|
#18+
К сожалению, в колонке нет свойства DynamicReadOnly (а хотелось бы). Поэтому варианта два: 1. Как предлогает Crispy 2. Создать свой класс колонки и добавить в него свойство DynamicReadOnly, которое будет менять ReadOnly колонки в зависимости от результат своей работы. Но без обработки событий BeforeRowColChange и AfterRowColChange не обойтись. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 10:49:26 |
|
||
|
ReadOnly в гриде по условию
|
|||
|---|---|---|---|
|
#18+
2 Katya_G : Сорри! Достаточно вставить в BeforeRowColChange!. Будут запрещены соответственно - нечетные строки. (ну или любое доугое условие вместо этого). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 10:55:29 |
|
||
|
ReadOnly в гриде по условию
|
|||
|---|---|---|---|
|
#18+
[Владимир СА] Писал: В методе THISFORM.Grid.AfterRowColChange: ... Конечно надо использовать BeforeRowColChange ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 11:47:41 |
|
||
|
ReadOnly в гриде по условию
|
|||
|---|---|---|---|
|
#18+
Спасибо большое! Сделала метод, в котором расписаны свойства ReadOnly для всех колонок по условиям, и вызываю его в BeforeRowColChange и AfterRowColChange грида. (почему-то, если только в BeforeRowColChange, работает плохо...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 12:05:11 |
|
||
|
ReadOnly в гриде по условию
|
|||
|---|---|---|---|
|
#18+
Hi Katya_G! как вариант - в колонки помещаешь по 2 контрола - ReadOnly текстбокс и то через что ты обычно вводишь информацию (текстбокс или комбо) - а по DynamicCurrentControl переключаешь эти контролы. IMHO это проще и стабильнее чем крутить readOnly через событие AfterRowColChange или из других точек... Также можно и цветом через Dynamic* выделять ReadOnly строки - дабы юзер не пугался что "клавиатура перестала печатать" :) Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2005, 02:27:06 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33156232&tid=1593901]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 203ms |
| total: | 342ms |

| 0 / 0 |
