Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Еще раз о Grid и ComboBox  [new]
СяоФэн
Member

Откуда: Russia
Сообщений: 85
Коллеги, извините.

Понимаю вопрос из надоевших.
Искал усиленно на форуме, но что-то все не то.

Хотелось бы увидеть внятное описание процесса использования combobox в grid формы.

Технология наверняка отработанная и выверенная года практики. Но к сожалению не могу найти нормального пошагового описания и пояснения

Возможно такие описания и объяснения существуют, если можно, ты дайте ссылку на эти ресурсы, буду очень признателен.

Знаю как это работает в Дельфи, Аксессе, но вот до конца в фоксе не догоняю.
Понимаю что использование combo не лучший вариант хорошей практике, но вещь часто используемая, хотелось бы до конца разобраться и закрыть вопрос

Спасибо всем ответившим и заинтересовавшимся темой
19 мар 08, 20:55    [5432980]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о Grid и ComboBox  [new]
PaulWist
Member

Откуда:
Сообщений: 2236
PUBLIC oForm

oForm = CREATEOBJECT('comboingrid')
oForm.Show

*
DEFINE CLASS comboingrid AS form


	DoCreate = .T.
	Caption = "Form1"
	Name = "form1"


	ADD OBJECT grid1 AS grid WITH ;
		Height = 217, ;
		Left = 12, ;
		Top = 12, ;
		Width = 349, ;
		Name = "Grid1"


	PROCEDURE Load
		CREATE CURSOR test (id i, id_Child i)

		INSERT INTO test (id) VALUES (1)
		INSERT INTO test (id) VALUES (2)

		CREATE CURSOR test_Child (id i, comment c (50))

		INSERT INTO test_Child (id, comment) VALUES (1, '1234567890')
		INSERT INTO test_Child (id, comment) VALUES (3, '201918171615141312110987654321')
	ENDPROC


	PROCEDURE Init
		WITH this.grid1
			.columncount = 2
			.recordsource = "Test"
			.Column1.controlsource = "Test.id"
			.Column2.controlsource = "Test.id_Child"
			.Column2.Sparse = .f.
			.Column2.Bound = .t.

			WITH .Column2
				.removeobject('Text1')
				.Addobject('ComboBox1','ComboBox')
				.ComboBox1.AddProperty('Arr(2,2)')
				.ComboBox1.Visible = .t.
				.ComboBox1.rowsourcetype = 5
				.ComboBox1.rowsource = ".ComboBox1.Arr"
				SELECT CAST(Comment as C(30)) as comment, id FROM test_child INTO ARRAY .ComboBox1.arr
				.ComboBox1.BorderStyle = 0
				.ComboBox1.ColumnCount = 2
				.ComboBox1.BoundColumn = 2
				.ComboBox1.ColumnLines = .f.
				.ComboBox1.ColumnWidths = "300,10"
				.ComboBox1.BoundTo = .t.
				.ComboBox1.style = 2
				.ComboBox1.Format = Replicate('X',30)
			ENDWITH 

		ENDWITH 
	ENDPROC


ENDDEFINE
20 мар 08, 09:02    [5433724]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о Grid и ComboBox  [new]
СяоФэн
Member

Откуда: Russia
Сообщений: 85
SELECT CAST(Comment as C(30)) as comment, id FROM test_child INTO ARRAY .ComboBox1.arr

Пытаюсь запустить скрипт на 8. Ругается в выше приведенной строке
Function name is missing

Правда, мне бы просто хотелось прочитать или посмотреть ход создания внедренного комбо в грид, на примере двух таблиц:

ну к примеру
Пипл (ФИО, кодУлица)
Стрит(кодУлица, Улица)
27 мар 08, 11:27    [5466227]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о Grid и ComboBox  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Вообще-то, надо хотя бы самому в Help посмотреть.

Функция CAST() была введна только в VFP9. Для младших версий FoxPro для символьных полей подойдет PADR().

SELECT PADR(Comment,30) as comment, id FROM test_child INTO ARRAY .ComboBox1.arr

Однако в данном случае, поскольку используется поле Character, то можно вообще никак не преобразовывать

SELECT comment, id FROM test_child INTO ARRAY .ComboBox1.arr
27 мар 08, 12:19    [5466747]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о Grid и ComboBox  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Как в дизайнере вставить объект в столбец Grid

Не отображается выбранное значение в ComboBox
27 мар 08, 12:21    [5466773]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз о Grid и ComboBox  [new]
СяоФэн
Member

Откуда: Russia
Сообщений: 85
ВладимирМ
Вообще-то, надо хотя бы самому в Help посмотреть.

Владимир, Вы совершенно правы.

Просто, так закрутился, что всегда существует соблазн попросить дать уже готовый ответ.

За ссылки спасибо, кажется, то, что надо. А то, что-то так путанно, эта часть у нас объясняется ..
27 мар 08, 22:49    [5470467]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить