Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Установка начального значения ComboBox, источник данных курсор / 6 сообщений из 6, страница 1 из 1
26.09.2016, 11:47
    #39315465
faustgreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка начального значения ComboBox, источник данных курсор
Имеется ComboBox со следующими свойствами:
Код: sql
1.
2.
3.
4.
1). BoundColumn = 2
2). BoundTo = .T.
3). RowSource = lcAlias
4). RowSourceType = 2 (Alias)



В качестве источника данных используется курсор (формируется в методе load формы, на которой размещен ComboBox):
Код: sql
1.
SELECT name, code FROM source_table INTO CURSOR lcAlias


, где типы полей
Код: sql
1.
name c(60), code n(4)

.

После запуска формы, ComboBox содержит нужный список значений, но не отображает начальное значение. Пробую его установить:

Код: sql
1.
2.
lnInitValueForCom1 = VAL(lcCode)
thisform.pageframe1.page1.combo1.Value = lnInitValueForCom1


, где
Код: sql
1.
lcCode (с(4))- параметр переданный в форму, и соответствующий одному из значений списка.

Итог - не работает. При этом команда
Код: sql
1.
messagebox(lnInitValueForCom1)

отображает например значение 1230 (и тип "n"), но если заменить на
Код: sql
1.
lnInitValueForCom1 = 1230

, то ComboBox отображает нужное значение при старте формы.

Почему не работает отображение начального значения, когда переменная lnInitValueForCom1 задана как VAL(lcCode)?
...
Рейтинг: 0 / 0
26.09.2016, 11:55
    #39315470
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка начального значения ComboBox, источник данных курсор
Код: sql
1.
...combo1.DisplayValue = ...
...
Рейтинг: 0 / 0
26.09.2016, 13:30
    #39315578
faustgreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка начального значения ComboBox, источник данных курсор
При текущих настройках у меня свойство DisplayValue вообще не изменяется.
...
Рейтинг: 0 / 0
26.09.2016, 14:31
    #39315626
faustgreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка начального значения ComboBox, источник данных курсор
Вроде разобрался:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT lcAlias
GO TOP IN lcAlias
LOCATE FOR lcAlias.code = VAL(lcCode)

thisform.pageframe1.page1.combo1.Value = lnInitValueForCom1
thisform.pageframe1.page1.combo1.DisplayValue = lcAlias.name


Так как источник данных курсор, то указатель в нем должен быть установлен на соответствующую запись. Добавил в код переход на нужную запись и установил свойство DisplayValue.
...
Рейтинг: 0 / 0
26.09.2016, 17:32
    #39315839
Установка начального значения ComboBox, источник данных курсор
faustgreen
Код: sql
1.
2.
3.
4.
...
GO TOP IN lcAlias
LOCATE FOR lcAlias.code = VAL(lcCode)
...


Не объясните назначение первой из процитированной строк в свете следования за ней второй строки?
...
Рейтинг: 0 / 0
26.09.2016, 17:47
    #39315853
faustgreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка начального значения ComboBox, источник данных курсор
Да, тут лишняя, мой косяк.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Установка начального значения ComboBox, источник данных курсор / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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