powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ReadOnly в гриде по условию
8 сообщений из 8, страница 1 из 1
ReadOnly в гриде по условию
    #33155925
Katya_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Специфика задачи (ввод отчетности) такова, что необходимо редактировать информацию прямо в гриде (в связи с большим объемом вводимой информации, для большей скорости ввода).

Но редактирование некоторых строк надо запретить. Где лучше писать условие для запрета/разрешения редактирования в ячейках грида?

Спасибо.
...
Рейтинг: 0 / 0
ReadOnly в гриде по условию
    #33156135
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi, Katya_G !

Наверно можно по-разному.
Можно вставить проверку в методы BeforeRowColChange и AfterRowColChange грида.
К примеру в оба вставляем: this.ReadOnly=IIF(pole1%2=0,.T.,.F.) - если в поле pole1 - четное число, запись не редактируется.
...
Рейтинг: 0 / 0
ReadOnly в гриде по условию
    #33156154
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
И пользователь редактирует те поля которые разрешены.
...
Рейтинг: 0 / 0
ReadOnly в гриде по условию
    #33156232
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, в колонке нет свойства DynamicReadOnly (а хотелось бы). Поэтому варианта два:
1. Как предлогает Crispy
2. Создать свой класс колонки и добавить в него свойство DynamicReadOnly, которое будет менять ReadOnly колонки в зависимости от результат своей работы. Но без обработки событий BeforeRowColChange и AfterRowColChange не обойтись.

С уважением, Алексей.
...
Рейтинг: 0 / 0
ReadOnly в гриде по условию
    #33156250
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Katya_G :

Сорри! Достаточно вставить в BeforeRowColChange!.
Будут запрещены соответственно - нечетные строки. (ну или любое доугое условие вместо этого).
...
Рейтинг: 0 / 0
ReadOnly в гриде по условию
    #33156429
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[Владимир СА] Писал:
В методе THISFORM.Grid.AfterRowColChange: ...

Конечно надо использовать BeforeRowColChange
...
Рейтинг: 0 / 0
ReadOnly в гриде по условию
    #33156505
Katya_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое!
Сделала метод, в котором расписаны свойства ReadOnly для всех колонок по условиям, и вызываю его в BeforeRowColChange и AfterRowColChange грида.

(почему-то, если только в BeforeRowColChange, работает плохо...)
...
Рейтинг: 0 / 0
ReadOnly в гриде по условию
    #33157883
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Katya_G!

как вариант - в колонки помещаешь по 2 контрола - ReadOnly текстбокс и то через что ты обычно вводишь информацию (текстбокс или комбо) - а по DynamicCurrentControl переключаешь эти контролы. IMHO это проще и стабильнее чем крутить readOnly через событие AfterRowColChange или из других точек... Также можно и цветом через Dynamic* выделять ReadOnly строки - дабы юзер не пугался что "клавиатура перестала печатать" :)

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ReadOnly в гриде по условию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]