:: Visual Foxpro, Foxpro for DOS
Клик на Гриде
vylv

Сообщений: 30
Дата регистрации: 26.09.2012
Заранее прошу прощения за чайниковский вопрос, но у самого найти ответ на него пока не получается.
VFP 9.0. На форме расположен Grid.Часть строк в нем заполнены, часть - пустые. По клику мышкой на некую ячейку заполненной строки хочется перенести ее содержимое в TextBox, расположенный на этой же форме. Но логика события Click для грида отрабатывается только, если кликать по пустой строке грида. При этом отображается значение ячейки в активной, заполненной данными строке грида. Если кликать по заполненной строке с необходимой ячейкой, то в гриде эта ячейка обозначается, но логика клика не отрабатывается, содержимое ячейки в TextBox не переносится.... Чтобы это значило? Возможно не соблюдено некоторое условие грида?
Ratings: 0 negative/0 positive
Re: Клик на Гриде
PaulWist

Сообщений: 14618
Дата регистрации: 01.04.2004
Переделывать на textbox лень, логика примерно такая:

PUBLIC oForm
oForm = CREATEOBJECT('gridlist')
oForm.Show(1)
*
DEFINE CLASS gridlist AS form
DoCreate = .T.
Caption = "Form1"
Name = "Form1"
ADD OBJECT edit1 AS editbox WITH ;
Height = 228, ;
Left = 168, ;
Top = 12, ;
Width = 192, ;
Name = "Edit1"
ADD OBJECT grid1 AS grid WITH ;
Height = 229, ;
Left = 0, ;
Top = 12, ;
Width = 157, ;
Name = "Grid1"
PROCEDURE Init
WITH this.grid1
.columnCount = 1
.recordSource = 'test'
.column1.controlsource = 'Test.id'
ENDWITH
this.edit1.ControlSource = 'Test.texts'
ENDPROC
PROCEDURE Load
IF !USED('test')
CREATE CURSOR test (id i , texts m)
INSERT INTO test (id, texts) VALUES (1, REPLICATE('First Record', 10))
INSERT INTO test (id, texts) VALUES (2, REPLICATE('Second Record ', 10))
ENDIF
GO TOP IN test
ENDPROC
PROCEDURE grid1.AfterRowColChange
LPARAMETERS nColIndex
thisform.edit1.Refresh()
ENDPROC
ENDDEFINE
*
*-- EndDefine: gridlist
**************************************************


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/1 positive
Re: Клик на Гриде
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Click на ячейки с данными отрабатывают textbox расположенные в соответствующих колонках, а не весь грид целиком.
Вообще если смысл всего этого деяния тупо показывать в полях рядом с гридом всегда инфу из текущей выбранной строки грида, то надо не клики ловить, а то как PaulWist написал делать - AfterRowColChange использовать.

Если же что-то иное предполагается, то грид можно перевети в режим "как листбокс" при помощи свойства AllowCellSelection - тогда именно click/dblclick/,,, самого грида будут работать.


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: Клик на Гриде
vylv

Сообщений: 30
Дата регистрации: 26.09.2012
Спасибо!...Безусловно, у любой задачи существует много вариантов решения. В данном случае я строил схему при которой оператор в гриде видел всю нужную информацию,выжимку из нескольких таблиц, а через "текствоксы" при необходимости мог ее редактировать.....
Ratings: 0 negative/0 positive
Re: Клик на Гриде
vylv

Сообщений: 30
Дата регистрации: 26.09.2012
Благодарю!....
Ratings: 0 negative/0 positive
Re: Клик на Гриде
Penner

Сообщений: 4102
Откуда: Muenster
Дата регистрации: 26.04.2002
Если ControlSource колонки и текстбокса одинаковые, то вообще ничего делать не надо


------------------
Никогда не откладывайте на завтра, то, о чем можно забыть навсегда
Ratings: 0 negative/0 positive
Re: Клик на Гриде
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Рефрешить надо...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Клик на Гриде
of63
Автор

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
() Пробовать надо, экспериментировать, читать хелп (его сделали! много лет назад, доброхоты этого форума), и просто писАть код, спрашивать по тесту проги (а не про то, как сделать сбс забесплатно)
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 24 kornienko_ru  (Гостей: 23)

© 2000-2024 Fox Club 
Яндекс.Метрика