:: Архив конференции по VFP до 2005 года
Combo In Grid
PaulWist
Автор

Сообщений: 14601
Дата регистрации: 01.04.2004
Ребята, что-то совсем не получается штатными средствами застатвить Combo писать BoundColumn в ControlSource колонки, всё время фокс норовит вместо ID прилепить Index комбобокса, ну ни как, если ControlSource Int, в 9-ке тоже не поправлен.

PUBLIC oForm
oForm = createobject('ComboInGrid')
oForm.Show(1)
DEFINE CLASS comboingrid AS form
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 (10))
INSERT INTO test_Child (id, comment) VALUES (1, 'One')
INSERT INTO test_Child (id, comment) VALUES (3, 'Three')
ENDPROC
PROCEDURE Init
WITH this.grid1
.columncount = 3
.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 = "This.Arr"
SELECT PADR(Comment,10), id FROM test_child INTO ARRAY .ComboBox1.arr
.ComboBox1.BorderStyle = 0
.ComboBox1.ColumnCount = 2
.ComboBox1.BoundColumn = 2
.ComboBox1.ColumnLines = .f.
.ComboBox1.ColumnWidths = "100,10"
.ComboBox1.style = 2
ENDWITH
.Column3.controlsource = "Transform(Test.id_Child)"
ENDWITH
ENDPROC
ENDDEFINE




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

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
Для числовых данных надо еще делать настройку

Combo.BoundTo = .T.




------------------
Ratings: 0 negative/0 positive
Re: Combo In Grid
АлександрК

Сообщений: 308
Откуда: г.Шебекино Белго
Дата регистрации: 17.09.2002
А если добавить .ComboBox1.BoundTo = .T.?
Ratings: 0 negative/0 positive
Re: Combo In Grid
PaulWist
Автор

Сообщений: 14601
Дата регистрации: 01.04.2004
Цитата:
Combo.BoundTo = .T.

То, что надо. Спасибо.




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

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Паша, а чего-то твой пример ни с BountTo вообще у меня едет на vfp8 - просто никогда на заморачивался с массивами




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Combo In Grid
PaulWist
Автор

Сообщений: 14601
Дата регистрации: 01.04.2004
Вадим , не понял, поясни фразу

Цитата:
твой пример ни с BountTo вообще у меня едет на vfp8

в смысле - не работает или работает и так без BountTo.

Что там должно быть - при выборе из Combo второго эл-та в третьей колонке должен отобразиться ID из справочника, он и отображается , но только Index комбобокса, а не ID подчиненной таблицы.




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

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Нет при выводе Test не вижу комбомоксов показывающих заполненные значения для обоих записей. Если при добвалении комбо пишу ComboBox1.Value=3 - корректно отбражает, а во второй строке пусто. То что значения заполняются - вижу - но не показывает. Странно - я почему у меня в другом продукте показывает ? Просто я не использую никогда массивов




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Combo In Grid
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Прошу пардону - не заметил что Child_Id не заполняется в
INSERT INTO test (id) VALUES (1)
Не - все - в отпуск скоро уйду наконец




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Combo In Grid
PaulWist
Автор

Сообщений: 14601
Дата регистрации: 01.04.2004
Цитата:
Если при добвалении комбо пишу ComboBox1.Value=3 - корректно отбражает, а во второй строке пусто.

Ну да и у меня пусто, правда в первой строке, те заполняет последнюю строчку, которая получилась при создании курсора и мы явно указали значение для поля ID_Child, а то что первая пустая, то Default-то там 0 и вроде и не должна заполняться строка , раз нет такого значения в комбо.




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


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

On-line: 5 (Гостей: 5)

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