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

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

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

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

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

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

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

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

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

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


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