Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Перемещение колонок в DWGrid / 11 сообщений из 11, страница 1 из 1
13.06.2006, 18:25
    #33788600
Сотников
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
Каким событием или способ как отловить изменение порядка колонок в DWGrid?

Дело в том что есть Grid DataWindow и в конце каждой строки рисуется Button. Если изменять размеры колонок, то Button остается неподвижен (прописывание координаты х в expression по конкретному полю помогло), но если перемещать колонки, то определив последовательность колонок по их коррдинатам узнаем какая из них последняя и подвинем button. Осталось теперь только узнать факт перемещения.
...
Рейтинг: 0 / 0
13.06.2006, 18:35
    #33788639
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
СотниковКаким событием или способ как отловить изменение порядка колонок в DWGrid?

Дело в том что есть Grid DataWindow и в конце каждой строки рисуется Button. Если изменять размеры колонок, то Button остается неподвижен (прописывание координаты х в expression по конкретному полю помогло), но если перемещать колонки, то определив последовательность колонок по их коррдинатам узнаем какая из них последняя и подвинем button. Осталось теперь только узнать факт перемещения.

lbuttonup на header-е словить и проверить DataWindow.Table.GridColumns. например сравнить с тем что было при lbuttondown.
...
Рейтинг: 0 / 0
13.06.2006, 21:31
    #33788865
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
Есть вот такая игрушка
...
Рейтинг: 0 / 0
13.06.2006, 21:38
    #33788871
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
Соответсвенно в предке дв контролов написано:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
/*------------------------------------------------------------------------------

 Event:			public u_dwa.Lbuttondown

 Returns:         Long

 Parameters:      UnsignedLong flags
                  Integer xpos
                  Integer ypos

 Copyright © 2001 DTI - Philip Salgannik

 Date Created: 9/13/2001

 Description:	mapped to pbm_lbuttondown, delegate to service object, which will
 					change the border of the header field to 3d lowered
 
--------------------------------------------------------------------------------
 Modifications:
 Date            Author              Comments
 11/17/2003		P. Salgannik	delegate to service object, which will preclude 
 										resizing of columns registered with it.
------------------------------------------------------------------------------*/
IF IsValid(inv_griddw_noresize_cols) THEN
	IF inv_griddw_noresize_cols.event lbuttondown(flags, xpos, ypos) THEN
		SetPointer(Arrow!)
		message.processed = TRUE
		RETURN  1 
	END IF
END IF
...
Рейтинг: 0 / 0
14.06.2006, 11:54
    #33789716
Сотников
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
Андрей:
подозревал, что так придется делать

Филипп:
я так понял это объект для указания статичных по ширине колонок, положу в утилитки, но у меня кнопка "прилепленная" к концу строки.


В итоге стелал так: в конец вынес ещё одну колонку, сделал её taborder=0, visible = false, width= 5 и посадил x кнопки за ней.

Но вылезла ещё одна проблема:
после выборки имеем только вертикальную прокрутку и по ширине все нормально и кнопка видна (рис. 1), а когда увеличиваем ширину одной из колонок таким образом чтобы появилась горизонтальная прокрутка, то DW строит отображение по последней колонке убирая кнопку "за область" (рис 2). Вот тут у меня даже предположений нет что делать.

PB 9.0.3 8511
...
Рейтинг: 0 / 0
14.06.2006, 11:54
    #33789719
Сотников
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
Рис 2
...
Рейтинг: 0 / 0
14.06.2006, 15:03
    #33790444
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
СотниковВ итоге стелал так: в конец вынес ещё одну колонку, сделал её taborder=0, visible = false, width= 5 и посадил x кнопки за ней.

А сделать еще одну колонку за кнопками? Может поможет?
...
Рейтинг: 0 / 0
14.06.2006, 15:44
    #33790602
Сотников
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
нет, так как колонки в Grid идут друг за другом, и новую можно вставить только перед кнопкой
...
Рейтинг: 0 / 0
14.06.2006, 16:03
    #33790671
Сотников
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
Кстати первая проблема оказалась уже решенной:

Change Request #: 401160
Priority: 0
Product reported in: PB Enterprise
OS: Microsoft Windows 2000
Product Component: DW - Runtime
Fixed in Version #: PB 9.0.3 EBF_8716
Description:
If resizing a column in a grid datawindow buttons are not moved to the right place as in PB8.

Но уход кнопки за пределы видимости остался
...
Рейтинг: 0 / 0
14.06.2006, 17:08
    #33790948
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
Сотников
Филипп:
я так понял это объект для указания статичных по ширине колонок, положу в утилитки, но у меня кнопка "прилепленная" к концу строки.

В итоге стелал так: в конец вынес ещё одну колонку, сделал её taborder=0, visible = false, width= 5 и посадил x кнопки за ней.
visible = false - в этом проблема и заключается. Объект, котрый я постнул (в основном) используется именно для привязки/статичных по ширине колонок с КНОПКАМИ.
Делать надо так. Добавляешь НЕ ещё одну колонку, а COMPUTE с любым стринговым выражанием, оставляешь его visible , делаешь его фонт прозрачным и сажаешь на него кнопку.
...
Рейтинг: 0 / 0
14.06.2006, 18:32
    #33791269
Сотников
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перемещение колонок в DWGrid
Спасибо Филипп все получилось, а после доработки n_cst_noresize_columns_ingrid до n_cst_static_columns_ingrid ещё и перемещение отменил
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Перемещение колонок в DWGrid / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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