powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Объект Grid
26 сообщений из 26, показаны все 2 страниц
Объект Grid
    #35743454
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста!!!
Допустим, имеется Grid с полями: ФИО, должность, телефон.
При двойном щелчке по строке Grid'a, чтобы данные,например, должность отобразилась в текстовом поле...
...
Рейтинг: 0 / 0
Объект Grid
    #35743549
FAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XoTaBbI4,

В обработчик события Грид-Колонка-Текствое поле вставляешь строку

thisform.Text1.Value = This.Value

А вообще этот вопрос возник от тупости и лени - мне так кажется )))
...
Рейтинг: 0 / 0
Объект Grid
    #35743591
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FAM,
Неработает...
...
Рейтинг: 0 / 0
Объект Grid
    #35743599
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FAM,
Я должен произвольно выбрать строку, а данные, должны занестись именно из необходимой ячейки в этой строке.. ВОТ....
...
Рейтинг: 0 / 0
Объект Grid
    #35743605
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавь ThisForm.Refresh()
...
Рейтинг: 0 / 0
Объект Grid
    #35743753
FAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XoTaBbI4,

Родной, не надо забывать, то в каждой колонке - свой объект текстовый. Поэтому в той котонке, где обработчик не вставлен - ничего работать не будет
...
Рейтинг: 0 / 0
Объект Grid
    #35743755
FAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XoTaBbI4Подскажите, пожалуйста!!!
При двойном щелчке по строке Grid'a...
Не бывает щелчка на строке. Нет такого объекта в гриде. Там иерархия другая:

1. Грид
2. Колонка
3. Объект, отвечающий за визуализацию, по умолчанию - текстбокс. Но может быть что угодно другое.

А строки нет. Нету! Ну напрягись, напрягись - хелпик почитай ...
...
Рейтинг: 0 / 0
Объект Grid
    #35747417
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FAM, Неподскажешь как сделать так, при двойном щелчке по строке Grid'a (допустим форма будет называться N), чтобы данные заносились в текстовом поле в другую форму(форма S, она открыта), при этом если мы просто открываем форму N и щелкает, то она закрывалась.
Заранее СПАСИБО!!
...
Рейтинг: 0 / 0
Объект Grid
    #35748844
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
В обработчике события DblClick Грид-Колонка-текстовое полe прописано следующее

PUBLIC pIKOD

IF pIKOD=1
frm_red.Text6.Value = This.Value
frm_red.refresh()
thisform.RELEASE()

ELSE
IF pIKOD=2
frm_k.TEXT.Value = This.Value
frm_k.text10.Value = otv_lico.kod_otv_lica
frm_k.refresh()
thisform.RELEASE()

ELSE
IF pIKOD=3
f_kab.Vtxt2.Value = This.Value
f_kab.refresh()
thisform.RELEASE()

ELSE

thisform.Release()

ENDIF
ENDIF
ENDIF

Смысл работы такой: в форму frm_red ( или frm_k, или f_kab) необходимо добавить данные из формы-справочника, для этого выбираются данные из грида, путем двойного щелчка мыши по текстовому полю. Переменная pIKOD задается в кнопке, которая открывает форму-справочник, такая кнопка располагается в формах frm_red, или frm_k, или f_kab и соответственно pIKOD этой кнопки = 1, или 2, или 3. Но проблема не в этом.... Если форма-справочник открыта для просмотра данных и мы щелкнем по грид-колонка-текстовое поле то выходит ошибка. Условие вроде бы задано:
ELSE
thisform.Release()
Не могу понять в чем ошибка? Заранее, Спасибо.
...
Рейтинг: 0 / 0
Объект Grid
    #35748890
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая ошибка? На какой строке? Телепатов тут нет - пиши подробно.

Твою кучу IF`ов на CASE замени. Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
do case
   case pIKOD= 1 
      ...
   case pIKOD= 2 
      ...
   case pIKOD= 3 
      ...
   otherwise
      thisform.Release()
endcase
...
Рейтинг: 0 / 0
Объект Grid
    #35748913
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заменил... Но ошибка осталась.
Ошибка:
(2 раза выводит это сообщение)
Object frm_red is not faund
А далее как полагается закрывает форму, как и должно быть
...
Рейтинг: 0 / 0
Объект Grid
    #35748940
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит переменной frm_red не существует на момент отработки твоего кода.
Проверяй ее наличие перед использованием:
Код: plaintext
1.
2.
3.
4.
5.
...
if type('frm_red') = 'O'
   frm_red.Text6.Value = This.Value
   frm_red.refresh()
endif
...
...
Рейтинг: 0 / 0
Объект Grid
    #35748941
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, это не переменная, а форма, как и frm_k, и f_kab
...
Рейтинг: 0 / 0
Объект Grid
    #35748960
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XoTaBbI4Dima T, это не переменная, а форма, как и frm_k, и f_kab
Это переменная - ссылка на форму, а не форма :)
Когда создается форма по DO FORM ... - создается одноименная переменная с областью видимости PRIVATE. Когда код уходит из области видимости переменной - переменная убивается, а форма остается. В таких случаях надо самому заботится передачей и хранением ссылок на нужные формы.

Не раз в форуме давали ссылку как взаимодействие между формами прописывать. Только я найти не могу, может кто другой повторит.

Опиши вкратце как формы создаются (в какой последовательности), модальные/немодальные.
...
Рейтинг: 0 / 0
Объект Grid
    #35748976
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это почитай. Та же проблема.
...
Рейтинг: 0 / 0
Объект Grid
    #35749235
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, Спасибо огромное!
...
Рейтинг: 0 / 0
Объект Grid
    #35749295
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, как я понел должно быть так:

IF TYPE("_VFP.Forms('frm_red')")="O"
frm_red.Text6.Value=This.Value
_VFP.Forms('frm_red').Refresh()
ENDIF

IF TYPE("_VFP.Forms('frm_k')")="O"
frm_k.Text10.Value=This.Value
_VFP.Forms('frm_k').Refresh()
ENDIF

IF TYPE("_VFP.Forms('f_kab')")="O"
f_kab.Vtxt4.Value=This.Value
_VFP.Forms('f_kab').Refresh()
ENDIF

thisform.Release()

Ошибки теперь исчезли, но данные в соответствующие поля не заносятся:(. Не подскажешь в чем моя ошибка?
...
Рейтинг: 0 / 0
Объект Grid
    #35749472
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Проверьте что есть this.value
LnValue=this.value
wait wind LnValue
...
Рейтинг: 0 / 0
Объект Grid
    #35749684
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XoTaBbI4...

Ошибки теперь исчезли, но данные в соответствующие поля не заносятся:(. Не подскажешь в чем моя ошибка?

_VFP.Forms('frm_red') - никогда не даст ссылку на форму, это неправильный синтаксис, поэтому ничего и не работает.

Если frm_red вызывает форму, в которой выполняется этот код, то передавай ссылку как параметр. Не знаю как эта форма у тебя зовется, назовем frm_vibor
Примерно так:

frm_red.ВызовВыбора() - передаем ссылку на форму как параметр
Код: plaintext
do form frm_vibor with thisform

frm_vibor.Init() - запоминаем ссылку на родительскую форму
Код: plaintext
1.
2.
lpara toParentForm
thisform.AddProperty('oParentForm')
thisform.oParentForm = toParentForm

frm_vibor.ТвойКод
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
if vartype(thisform.oParentForm) = 'O'
   do case
      case thisform.oParentForm.name = 'frm_red'
         thisform.oParentForm.Text6.Value=This.Value
      case thisform.oParentForm.name = 'frm_k'
         thisform.oParentForm.Text10.Value=This.Value
      case thisform.oParentForm.name = 'f_kab'
         thisform.oParentForm.Vtxt4.Value=This.Value
   endcase
   thisform.oParentForm.Refresh()
endif
thisform.Release()
...
Рейтинг: 0 / 0
Объект Grid
    #35749740
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,
Огромное спасибо! Все работает! Спасибо за подробное описание!!!
...
Рейтинг: 0 / 0
Объект Grid
    #35750266
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, Дмитрий, опять проблема возникла:((. Сначало перестало работать (данные не заносятся) для 1 формы, а затем для остальных. Ничего не изменял. Если вам не трудно ответьте пожалуйста.
...
Рейтинг: 0 / 0
Объект Grid
    #35750412
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XoTaBbI4Dima T, Дмитрий, опять проблема возникла:((. Сначало перестало работать (данные не заносятся) для 1 формы, а затем для остальных. Ничего не изменял. Если вам не трудно ответьте пожалуйста.

Само-собой перестать работать не может, все-таки что-то изменял.
Проверь что свойство name правильно прописано у вызывающих форм. По умолчанию там "Form1" стоит.

Мой пример упрощенный и не учитывает некоторые ситуации:
1. После запуска frm_vibor запускающая форма (frm_red) закрывается и снова открывается
2. frm_vibor открыта до открытия frm_red и переключение на нее происходит мышем
В этих случаях работать не будет.
...
Рейтинг: 0 / 0
Объект Grid
    #35751713
ываыва
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если я правильно понял, то есть форма, на ней грид, когда ты щёлкаешь по гриду первой формы, должна активироваться другая форма с данными из грида первой формы....ну и пропиши код активации второй формы на двойном клики в гриде....а данные бери из таблицы, куда встал указатель, когда ты щёлкнул мышкой..
...
Рейтинг: 0 / 0
Объект Grid
    #35752656
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ываыва, тогда если просто открыть эту форму-справочник и щелкнуть по текстовому полю грида выводится ошибка
...
Рейтинг: 0 / 0
Объект Grid
    #35753833
werq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какая ошибка?
...
Рейтинг: 0 / 0
Объект Grid
    #35755976
XoTaBbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
werq, Object frm_red is not faund
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Объект Grid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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