powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Новое поле на datawindow
6 сообщений из 6, страница 1 из 1
Новое поле на datawindow
    #39742253
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Подскажите пожалуйста что делать в такой ситуации. На dw-ку поместила новое поле, которое в load tabpage (где находится эта dw-ка) либо показывается либо нет, по условию. Поле на dw-ке поместила в самое начало. Так вот если срабатывает условие показать поле, builder его кидает в самый конец.

IF ldw_1.GetItemNumber ( 1, 'field1' ) = 1 THEN
dw_1.object.is_checking.visible = True
ELSE
dw_1.object.is_checking.visible = False
END IF
...
Рейтинг: 0 / 0
Новое поле на datawindow
    #39742283
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перед тем как скрывать поле, сохраняйте где то его позицию Х, а потом восстанавливайте вместе с Visible. Должно помочь.
...
Рейтинг: 0 / 0
Новое поле на datawindow
    #39742408
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, все получилось)
...
Рейтинг: 0 / 0
Новое поле на datawindow
    #39743306
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае получилось, так как поле идет самое первое и его значение позиции Х не будет меняться. Я посмотрела значение позиции Х в dw и в условии прописала в load на tabpage

dw_1.object.is_checking.visible = True
dw_1.object.is_checking.X = '100'

если пробую получить значение позиции Х поля is_checking, до условия, чтобы присвоить потом его, то значение всегда приезжает разное

ll_position_x = dw_1.object.is_checking.X
IF ldw_1.GetItemNumber ( 1, 'field1' ) = 1 THEN
dw_1.object.is_checking.visible = True
dw_1.object.is_checking.X = ll_position_x
ELSE
dw_1.object.is_checking.visible = False
END IF

Может это значение получать нужно не в load?
Когда полу одно и оно самое первое, то просто присвоить значение Х dw_1.object.is_checking.X = '100' и все. Значение это не изменится. Но вот если по условию таких полей много и они находятся в разных местах то нужно получать точное значение Х, потому что при добавлении новых полей на dw позиция тех полей изменится. В общем то что я попробовала получить значение в load не сработало
...
Рейтинг: 0 / 0
Новое поле на datawindow
    #39743604
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще это была подсказка в какую сторону "копать"...

Вот например, если DW - tab или grid, то при изменении пользователем ширины любого предыдущего столбца (соответственно и поля), значение Х скрытого поля должно быть скорректировано. Мысль понятна?

ПС. А хранить реальное значение Х можно, например, в свойстве tag каждого поля или в listviewitem data. Тогда при изменении ширины любого поля, обновлять значение Х скрытого поля.

ПС. ну, и если столбцы передвигаются, то тоже надо корректировать...
...
Рейтинг: 0 / 0
Новое поле на datawindow
    #39744859
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пробовал, но скорее всего сработает такой трюк:
Играться с dw_1.Object.DataWindow.Processing (1 - Grid, 0 - Tab)
Если сначала сделать видимость, а потом изменить Processing с 1 на 0, то будет TAB с "позициями из грид GRID".
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Новое поле на datawindow
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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