Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как изменить цвет бэкграунда или символов отдельной ячейки грида программно?? / 13 сообщений из 13, страница 1 из 1
13.08.2003, 17:24
    #32235761
Dancer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
Какие существуют методы изменения цвета бекграунда или символов отдельной ячейки ГРИДА программно?? Подскажите, плиз.
...
Рейтинг: 0 / 0
13.08.2003, 18:19
    #32235851
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
Вкратце - это решается через написание специальной функции для DymamicBackColor() соответствующего столбца.

В этой функции и прописывается, что если выполняется некое условие для текущей записи, то ячейка окрашивается в один цвет, не выполняется - в другой. Можно раскрасить и в несколько цветов.
...
Рейтинг: 0 / 0
13.08.2003, 18:26
    #32235861
Dancer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
2ВлвдимирМ: Спасибо за совет. Но можно, ли обойтись как-то без этих "жутких" проверок? Может есть ещё какая-то технология?
И можно ли вообже работать с ячейкой как с отдельным объектом, менять какие-то свойста и т.д.?
...
Рейтинг: 0 / 0
13.08.2003, 20:35
    #32235938
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
>можно ли вообже работать с ячейкой как с отдельным объектом, менять какие-то свойста и т.д.?
ThisForm.MyGrid.<ColumnN>.Text1.<свойство>
Напимер:
ThisForm.MyGrid.Column1.Text1.BackColor=RGB(0,0,0) - цвет фона
ThisForm.MyGrid.Column2.Text1.ForeColor=RGB(255,255,255) - цвет цвет шрифта

В общем случае в GRID-е может быть не только TextBox, но и другие элементы управления
...
Рейтинг: 0 / 0
14.08.2003, 10:31
    #32236184
Dancer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
спасибо, Bum, но существует ли возможность обратиться к ЛЮБОЙ ячейке(не только та которая вібрана в данній момент), например, типа
...Сolumn1. CELL(1,1) .BackColor=RGB(0,0,0) ?
Есть ли такая возможность в Фоксе?
...
Рейтинг: 0 / 0
14.08.2003, 11:28
    #32236285
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
Нет. Изменить цвет отдельной ячейки напрямую в Grid невозможно.

Это связано с логикой работы данного объекта. У него просто нет такого понятия как "адрес ячейки".

Дело в том, что в качестве источника для GRID всегда выступает таблица (ну или временная таблица). Это значит, что Grid оперирует такими понятиями как "поле" (столбец) и "запись" (строка). Соответственно "ячейка" - это всего-лишь визуализация "пересечения". Но никак не самостоятельный объект.

Т.е. добиться нужного эффекта можно, но только через DynamicBackColor(). Если же это не устраивает, то следует воспользоваться ActiveX компонентами, гдн такая адресация существует. Но работа с ActiveX в FoxPro сопряжена уже с другими проблемами.

Впрочем, в 8 версии уже сделан шаг в сторону такой адресации (можно "подсветить" текущую строку), но не думаю, что они зайдут так далеко, что сделают адресацию к отдельной ячейке. Это просто противоречит логике работы Grid.
...
Рейтинг: 0 / 0
14.08.2003, 12:53
    #32236470
Dancer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
Печально... Но спаибо всем!
...
Рейтинг: 0 / 0
14.08.2003, 14:21
    #32236653
Flex2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
Не слушай их - дурному научат.
Можно. Для этого тебе нужно всего-то навсего сделать сдедующее:
Создать свой класс на основе базового textbox для соей колонки.
В классе создать метод, Value_assign.
Потом к прикрепленному полю столбца просто пихать нужное значение, а в методе Value_assign. его обрабатывать.
После этого вместо базового textbox"a тебе нужно вопихнуть объект на основе твоего класса и все дела.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
DEFINE CLASS Value_assign
Lparameter m.NewVal
DO CASE
   CASE  m.NewVal =  1 
THIS.BackColor =   4227200  && Это в  8 , в  6  RGB(...) используй
   CASE m.NewVal  =  2 
THIS.BackColor =  65280 
ENDCASE
this.Value = m.NewVal
ENDPROC
надеюсь описал попоулярно.
...
Рейтинг: 0 / 0
14.08.2003, 14:24
    #32236663
Flex2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
УУпс)
Опечаточка вышла, пардоньте.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
DEFINE CLASS  Mytetx as textbox

Procedure Value_assign
Lparameter m.NewVal
DO CASE
   CASE  m.NewVal =  1 
THIS.BackColor =   4227200  && Это в  8 , в  6  RGB(...) используй
   CASE m.NewVal  =  2 
THIS.BackColor =  65280 
ENDCASE
this.Value = m.NewVal
ENDPROC

ENDDEFUNE
...
Рейтинг: 0 / 0
14.08.2003, 14:34
    #32236680
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
Это называется "те же ... только сбоку"

В данном примере опять же происходит изменение цвета по значению текущей строки , а не по адресу ячейки (чего собсвтвенно добивается Dancer )

Если Вы обратили внимание, то исходная задача ставится так - изменить цвет фона конкретной ячейки вне зависимости от ее содержимого .
...
Рейтинг: 0 / 0
14.08.2003, 14:42
    #32236698
Flex2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
теже :) случайно не Ваши ?
...
Рейтинг: 0 / 0
16.09.2003, 12:18
    #32266218
Dancer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
Ребятки! Подскажите функцию, которая возвращает дату и время последнего его сохранения на диске.
...
Рейтинг: 0 / 0
18.09.2003, 08:20
    #32268610
brahew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
FDATE()
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как изменить цвет бэкграунда или символов отдельной ячейки грида программно?? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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