powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Новичек vs DataWindow
10 сообщений из 10, страница 1 из 1
Новичек vs DataWindow
    #34049277
galileo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Недавно начал работать с PB и возникла проблема, которую с помощью хелпа решить не удалось. Имеется DW со столбцом checkbox-ов. Надо изменить свойство отдельного checkbox-а. Пробовал dw_1.Object.column_id[row].Background.Color , но выдается ошибка. Помогите разобраться пожалуйста.
...
Рейтинг: 0 / 0
Новичек vs DataWindow
    #34049364
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так сделать нельзя. Необходимо задавать expression на свойство color этого checkbox'а. Что-то типа
Код: plaintext
if(currentRow()= 5 ,RGB ( 255 , 0 , 0 ),RGB( 0 , 255 , 0 ))
...
Рейтинг: 0 / 0
Новичек vs DataWindow
    #34049397
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
galileoНедавно начал работать с PB и возникла проблема, которую с помощью хелпа решить не удалось. Имеется DW со столбцом checkbox-ов. Надо изменить свойство отдельного checkbox-а. Пробовал dw_1.Object.column_id[row].Background.Color , но выдается ошибка. Помогите разобраться пожалуйста.

Естественно. это свойство всего column целиком, а не для конкретной строки.
свойство "отдельного" checkbox-а можно "изменить", если задать Expression.
dw.Object.<Columnname>.Background.Color='<цвет_по_умолчанию>~tif(<некое_условие>,<цвет1>,<цвет2>)'
соответственно инфо для принятия решения уже должно быть в dw. что за условие и как это сделать - думайте сами.
...
Рейтинг: 0 / 0
Новичек vs DataWindow
    #34049411
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
упс... Марк опередил.

currentRow() ?
...
Рейтинг: 0 / 0
Новичек vs DataWindow
    #34049433
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейупс... Марк опередил.

currentRow() ?

как то видел как по клику добавляли or getrow() = N в условие, и следы боев за то чтоб это работало после сортировки и фильтрации. душераздирающее зрелище.
...
Рейтинг: 0 / 0
Новичек vs DataWindow
    #34049457
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейcurrentRow()?
или GetRow(), а может их комбинация или что-то еще... Если необходимо для нескольких строк по сложному условию устанавливать, то можно завести колонку в котоую писать цвет и ее значение на условие поставить или писать в нее признак, а цвет на условии менять...
Есть еще вариант с глобальной функцией, но это достаточно медленно и здесь их не любят :)
...
Рейтинг: 0 / 0
Новичек vs DataWindow
    #34049464
galileo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное. Остался маленький вопрос - где можно поподробнее узнать об expressions?
...
Рейтинг: 0 / 0
Новичек vs DataWindow
    #34049491
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
galileoгде можно поподробнее узнать об expressions
А чего узнатвать? Все просто. Если для свойства объекта datawindow задан expression, то он вычисляется для каждой строки и значение свойства ему собственно и приравнивается. В expression можно задавать различные выражения, испрользовать разные функции, использовать значения колонок и computed field's. Список функций находится прямо в окне задания выражения. Также можно из expression вызывать глобальные функции.
...
Рейтинг: 0 / 0
Новичек vs DataWindow
    #34049751
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк ЗоринАндрейcurrentRow()?
или GetRow(), а может их комбинация или что-то еще...
В данном случае нужно if(getrow() = строка, цвет1, цвет2)

currentRow() это строка в которой находится курсор, а GetRow() (внутри expression) означает строку для которой будет применено выражение.
...
Рейтинг: 0 / 0
Новичек vs DataWindow
    #34049798
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyВ данном случае нужно if(getrow() = строка, цвет1, цвет2)
А это зависит от того, как нужно это row считать :) Хотя да, именно для фиксированной нужно getrow().
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Новичек vs DataWindow
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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