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

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

currentRow() ?

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

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


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