powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Изменение цвета
4 сообщений из 4, страница 1 из 1
Изменение цвета
    #32278134
Flex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа!
Подскажите как справиться с такой ситуацией:

Есть грид. В колонку для отображения информации вставил combobox.
В классе, на основании которого отображаются сombobox"s создал метод
value_assign и в нем прописал изменение цвета этого элемента.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Define class com_grd as combobox
procedure Value_assign
lparameter newval
do case
case newval =  1 
this.BackColor = RGB( 0 , 0 , 0 )
case newval =  2 
this.BackColor = RGB( 255 , 255 , 255 )
endcase
this.value = m.newval
Endproc
enddefine

При загрузке формы содержащей данный грид, цвет элементов combobox в соответствующих ячеках соответсвует значению которое задано условиями.
Но вот при попытке изменить в прикрепленном поле значение Fox выдает ошибку , что обновление поля произвестись не может. В чем ошибка.
Может я ошибаюсь в самом подходе ? Тогда как мне динамически менять цвет не всей строки а только в одном столбце содержащим нужные мне контролы.
В данном случае это комбобоксы?
Помогите пожалуйста. Буду очень признателен.
...
Рейтинг: 0 / 0
Изменение цвета
    #32278380
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверь тип данных записанных в Combo.Value. Вероятно у тебя туда попал символьный тип, а сравнение идет с числом.

PS. Я такое делал с TextBox, правда изменение цвета фона прописал в Refresh. Может в этом проблема?
...
Рейтинг: 0 / 0
Изменение цвета
    #32278457
Flex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ, я и так и так пробовал, так же ругается что не хочет обновлять.
И еще. у меня в combo в качестве источника данных
RowSourceType = 6 (Fields)
RowSorce = 'states.names,id_state'
BoudColumn = 2

id_state - numeric(2)
states.names - charcter (15)
И в Value присваивается также Numeric(1). И тут непонятка кая-то.
По идее должно отображаться 15 символов, и при загрузке так и отображется. Но вот при клике на контрол или при выборе , отображается столько байт
сколько в id_state, тобишь 2. Что-то не пойму. И id_state я зашарил в контроле. Может как-то не так надо?
И как с Refresh такой трюк делать?
...
Рейтинг: 0 / 0
Изменение цвета
    #32278647
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установи свойство

BoundTo=.T.

Поскольку у тебя id_state имеет числовой тип, то в случае BoundTo=.F. (значение по умолчанию) в качестве возвращаемого значения будет выбираться не значение поля id_state, а просто порядковый номер элемента списка. Что сам понимаешь - не одно и то же.

Однако как только ты установишь BoundTo=.T. тут же возникнет другой глюк. Но о нем чуть позже. Сначала попробуй только с этой настройкой.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Изменение цвета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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