|
|
|
data window Grid.
|
|||
|---|---|---|---|
|
#18+
Надо отредактировать одну строку В data window Grid. Остальные строки должны быть недоступными. Into event 'doubleclicked' on datawindow into dialog window PS: object DataWindow имеет 7 столбцов, В свойстве ‘protect’ Каждого столбца стоит выражение IF (IsRowNew(), 0, 1) Для добавления новой строки в конец data window or Перед текущей строкой – выражение IF (IsRowNew(), 0, 1) правильно работает. Был совет на форуме ( сейчас топик отсутствует): авторсоздаете в дв компьют например c_edit_row со значением Как я понял из вышесказанного надо создать вычисляемое поле. В object DataWindow, в выпадающем окне элементов управления Предлагается несколько типов вычисляемых полей: Averaging, counting, page n from nnn и т.д. Выбрал ‘computed field’ – оно не содержит поля В свойствах которого имеется ‘Protect’ Ну поменяю имя вычисляемого поля ‘compute_1‘ на ‘c_edit_row’ Чтобы Вашу подсказку пытаться реализовать, т.к. сам – НИ ГУ-ГУ, раз на форум вышел с этой проблемой. Посколько поле Protect я не могу создать, То дальнейшее теряет смысл: авторв выражении protect ставим что-то такое: IF (GetRow()=c_edit_row, 1, 0) на doubleclick вешаем: this.Modify('c_edit_row.expression=~''+string(clicked_row)+'~'') Где НЕ ТАК я делаю ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 12:00 |
|
||
|
data window Grid.
|
|||
|---|---|---|---|
|
#18+
Пришел некто к программеру и спрашивает: - Где у меня ошибка? - Где-где, в ДНК! На самом деле все просто Свойство протект пишется в требуемое поле, просто ориентируется оно на компьют ЗЫ: Ник Владимир2 можно было оставить. ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 13:01 |
|
||
|
data window Grid.
|
|||
|---|---|---|---|
|
#18+
durban2Надо отредактировать одну строку какую? как Вы отличаете строку которую надо редактировать от "остальных" которые должны быть недоступными? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 16:46 |
|
||
|
data window Grid.
|
|||
|---|---|---|---|
|
#18+
авторкакую? как Вы отличаете строку которую надо редактировать от "остальных" которые должны быть недоступными? event DoubleClicked на любой строке dATAwINDOW В каждом столбце в свойстве объекта DataWindow поставил выражение IF (IsRowNew(), 0, 1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 18:16 |
|
||
|
data window Grid.
|
|||
|---|---|---|---|
|
#18+
durban2 авторкакую? как Вы отличаете строку которую надо редактировать от "остальных" которые должны быть недоступными? event DoubleClicked на любой строке dATAwINDOW В каждом столбце в свойстве объекта DataWindow поставил выражение IF (IsRowNew(), 0, 1) Ну значит нужено как то этот факт doubleclicked зафиксировать. Поскольку хранить что-то в каждой строке можно только в буфере DW, то надо завести поле, которое будет в запросе константой ( SELECT ...., 0 as allow_edit ... ) и выставлять его по doubleclicked в 1. соответственно его и использовать в expression для Protect. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 18:44 |
|
||
|
data window Grid.
|
|||
|---|---|---|---|
|
#18+
еще раз с компьютом (подходит только если строка для редактирования всегда одна): 1. создаем "compute field" c_edit_row со значением 0 (ноль) 2. во всех столбцах расширяем св-во protect и пишем там: Код: plaintext Код: plaintext если строк для редактирования несколько - используем решение от "ЗоринАндрей" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 10:35 |
|
||
|
data window Grid.
|
|||
|---|---|---|---|
|
#18+
авторс новым годом автореще раз с компьютом (подходит только если строка для редактирования всегда одна): 1. создаем "compute field" c_edit_row со значением 0 (ноль) 2. во всех столбцах расширяем св-во protect и пишем там: IF (IsRowNew() or c_edit_row=GetRow(), 0, 1) 3. в событии doubleclicked пишем this.Modify("c_edit_row.expression=~'"+string(clickedrow)+"~'") СПАСИБО БОЛЬШОЕ, РАБОТАЕТ, НО ЗАБЛОКИРОВАНА КЛАВИАТУРА - КЛАВИШИ TAB и ENTER не работают, когда хочу перейти в другой столбец для ввода информации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 11:27 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=35064580&tid=1336768]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 167ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...