powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / изменить цвет выделенной строки
15 сообщений из 15, страница 1 из 1
изменить цвет выделенной строки
    #33094769
zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем,

Как в обьекте datawindow(типа grid) для выделенной строки изменить цвет
background-a(стандартный: синий) или цвет текста(стандартный: белый).
Эта необходимость появилась из-за того, что
строчки имеют цвет в зависимости от типа данных,
а при выделенных строчках Юзер не видит их тип,
так как цвета стандартные для всех.

PB8.
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095381
PVG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PVG
Гость
Для каждого столбца установить в св-вах color либо background.color = iif(isSelected(), цвет1, цвет2)

Если я правильно понял вопрос. Не могу понять это
строчки имеют цвет в зависимости от типа данных
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095520
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVGДля каждого столбца установить в св-вах color либо background.color = iif(isSelected(), цвет1, цвет2)

Если я правильно понял вопрос. Не могу понять это
строчки имеют цвет в зависимости от типа данных
Поправлю коллегу:
1. не только для столбца, но можно и для всего Detail'а
2. if а не iif
3. IsSelected() могет не пройти, лучше (GetRow() = CurrentRow())
4. цвет1, цвет2 - значения типа Long или, как альтернатива RGB(red, green, blue) где red, green и blue от 0 до 255
5. вероятно имелось ввиду от значений, а не от типа данных

---
С уважением, IKAR

ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095586
zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можно узнать если PVG и Ikar пробовали проделать то о чем пишут ?
может это зависит от версии ПБ или билда ?

у меня на в паинтере на свойство textcolor для каждого столбца висит следующее
if(CODE_STATE<>'CIT003',rgb(252,42,26),0)
но при SelectedRow всегда одно и тоже: белый цвет на синем фоне.
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095618
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zuzu wrote:

> у меня на в паинтере на свойство textcolor для каждого столбца висит
> следующее
> if(CODE_STATE<>'CIT003',rgb(252,42,26),0)
> но при SelectedRow всегда одно и тоже: белый цвет на синем фоне.

Если я правильно понял, о чём идёт речь, то это сделать невозможно.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095634
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ikar
Поправлю коллегу:
1. не только для столбца, но можно и для всего Detail'а
не поможет. цвета для selection задаются в Control Panel глобально. И такими и должны быть. Кто будет рисовать не тем цветом который юзер настроил - линейкой по рукам!!!

Так что либо НЕ используйте selection стандартный - обозначайте текущую строку через RowFocusIndicator, либо битмап сделать видимый только для GetRow() = CurrentRow()).

Либо (предпочтительнее) selection оставить стандартный , а для отображения типа вместо цвета сделайте битмап - типа case ( <какой-то-там-тип> when <знач1> then 'bitmap1.bmp' ... )

Ikar
3. IsSelected() могет не пройти, лучше (GetRow() = CurrentRow())
Блин, я о Вас, Ikar, был лучшего мнения. не ну что это за децки сад? "пройдет" - "не пройдет". ВЫДЕЛЕННЫЕ строкИ и ТЕКУЩАЯ строка это по определению РАЗНЫЕ вещи и человек который чего то там пытается "подсветить" должен отчетливо понимать что он хочет учитывать и как это скажется на интерфейсе. А тут просто метод "тыка" какой-то - написали isSelected() - куйня, не нравицца, заменили на CurrentRow() - заипись.
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095655
PVG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PVG
Гость
IkarПоправлю коллегу:
3. IsSelected() могет не пройти, лучше (GetRow() = CurrentRow())

GetRow() = CurrentRow() это для текущего столбца, а спрашивается про выделенные

zuzu
if(CODE_STATE<>'CIT003',rgb(252,42,26),0)
но при SelectedRow всегда одно и тоже: белый цвет на синем фоне.
И где в этом выражении отбор выделенных строк?
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095682
zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVG
zuzu
if(CODE_STATE<>'CIT003',rgb(252,42,26),0)
но при SelectedRow всегда одно и тоже: белый цвет на синем фоне.
И где в этом выражении отбор выделенных строк?

так мне надо чтобы цвет был таким, какой я указал,
но если строка выделена, она меняет цвет всегда на белый,
можно ли как-то избежать этого ?
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095691
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейБлин, я о Вас, Ikar, был лучшего мнения. не ну что это за децки сад? "пройдет" - "не пройдет". ВЫДЕЛЕННЫЕ строкИ и ТЕКУЩАЯ строка это по определению РАЗНЫЕ вещи и человек который чего то там пытается "подсветить" должен отчетливо понимать что он хочет учитывать и как это скажется на интерфейсе. А тут просто метод "тыка" какой-то - написали isSelected() - куйня, не нравицца, заменили на CurrentRow() - заипись.Заглянул в форум "наскоком", отвечал не вдумываясь, практически на автомате
(и сосредоточено размышляя совершенно о другом) Ну и ответил криво, каюсь...
---
С уважением, IKAR

ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095703
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей либо битмап сделать видимый только для GetRow() = CurrentRow()).
или два rectangle в виде "рамочки" вокруг содержимого detail.

PVGИ где в этом выражении отбор выделенных строк?
а причем тут отбор выделенных строк?
приведено выражение которое раскрашивает некоторые строки в DW.
если эти строки выделены ( SelectRow(row,True) ) то они отрисовываются стандартными системными цветами, а не тем что указано в этом выражении.
Соотвествеено отличить раскрашенную строку от нераскрашенной никак.
Что непонятно?

Еще раз - я предлагаю
либо - не использовать SelectRow(...) вообще, выделенные ( или текущую - что на самом деле-то надо автору топика?) обозначать другим способом.

либо - оставить SelectRow, но вместо "раскрашивания" обозначать "особенные" строки другим способом ( битмап например)

просто так вот взять и "избежать" - не получится.

что значит строка выделена? кто-то вызывает по клику или другим каким событиям SelectRow? если так - то цвет всегда будет стандартный.
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095743
PVG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PVG
Гость
Зорин Андрейа причем тут отбор выделенных строк?
приведено выражение которое раскрашивает некоторые строки в DW.
zuzuКак в обьекте datawindow(типа grid) для выделенной строки изменить цвет
background-a(стандартный: синий) или цвет текста(стандартный: белый).
Я понял что надо было сделать примерно следующее
Код: plaintext
if(CODE_STATE<>'CIT003',if(isSelected(),цвет1,цвет2),if(isSelected(),цвет1,цвет3))


Зорин Андрейне поможет. цвета для selection задаются в Control Panel глобальноПосле этого всё стало понятно, просто пока печатал своё сообщение появилось ваше.
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095745
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я обычно в источнике данных делаю вычисляемое поле и потом уже проблем не имею, что то типа того:
Код: plaintext
1.
SELECT *, CONVERT(bit,  0 ) AS IsChecked
FROM Table
дальше уже хоть мышкой можно выделять, хоть поле с галочкой сделать, хоть в БД сохранить выбранные id, раскрасить как хочется :)
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095771
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSЯ обычно в источнике данных делаю вычисляемое поле и потом уже проблем не имею
Да пофиг источник данных-то!
Ну если ты раскрасил как хочешь, а потом сделал SelectRow(xxx, True) то результатов раскрашивания ты не увидишь пока не сделаешь SelectRow(xxx, False)
а от источника информации для раскрашивания это никак не зависит. будь то поле в источнике или компьют или еще чего-нибудь.
Я тоже делаю isChecked, но к проблеме раскрашивания выделения это перпендикулярно. Или я не так понял чего?
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095786
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки да - неправильно понял. Извини.
Просто напросто ты пользуешься увтановкой isChecked _вместо_ SelectRow(...)
Разумно.
Но не всегда оправданно.
...
Рейтинг: 0 / 0
изменить цвет выделенной строки
    #33095866
zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем,
остановлюсь на бмп, не хочется ничего менять в функциональности.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / изменить цвет выделенной строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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