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

В этой функции и прописывается, что если выполняется некое условие для текущей записи, то ячейка окрашивается в один цвет, не выполняется - в другой. Можно раскрасить и в несколько цветов.
...
Рейтинг: 0 / 0
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
    #32235861
Dancer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2ВлвдимирМ: Спасибо за совет. Но можно, ли обойтись как-то без этих "жутких" проверок? Может есть ещё какая-то технология?
И можно ли вообже работать с ячейкой как с отдельным объектом, менять какие-то свойста и т.д.?
...
Рейтинг: 0 / 0
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
    #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
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
    #32236184
Dancer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, Bum, но существует ли возможность обратиться к ЛЮБОЙ ячейке(не только та которая вібрана в данній момент), например, типа
...Сolumn1. CELL(1,1) .BackColor=RGB(0,0,0) ?
Есть ли такая возможность в Фоксе?
...
Рейтинг: 0 / 0
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
    #32236285
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Изменить цвет отдельной ячейки напрямую в Grid невозможно.

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

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

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

Впрочем, в 8 версии уже сделан шаг в сторону такой адресации (можно "подсветить" текущую строку), но не думаю, что они зайдут так далеко, что сделают адресацию к отдельной ячейке. Это просто противоречит логике работы Grid.
...
Рейтинг: 0 / 0
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
    #32236470
Dancer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Печально... Но спаибо всем!
...
Рейтинг: 0 / 0
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
    #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
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
    #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
Как изменить цвет бэкграунда или символов отдельной ячейки грида программно??
    #32236680
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это называется "те же ... только сбоку"

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

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


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