Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Сортировка в dw / 5 сообщений из 5, страница 1 из 1
15.05.2007, 09:21
    #34525090
учусь
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в dw
Хотелось бы сделать сортировку:
при щелчке(двойном щелчке) в dw на названии колонки происходит сортировка данных в dw.
События clicked и doubleclicked - происходят для всего dw.
Как называется необходимое мне событие?
...
Рейтинг: 0 / 0
15.05.2007, 09:45
    #34525163
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в dw
clicked вам и необходимо
в нем есть параметр dwo (DatawindowObject)
в этом параметре ссылка на кликнутый обьект DW.
для списка свойств см. в хелпе Datawindow object properties
...
Рейтинг: 0 / 0
15.05.2007, 09:59
    #34525199
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в dw
Код: 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.
30.
31.
32.
33.
string s_object, s_col_name
string ls_object
integer li_len

// Text name = Column name + "_t" (column: id_number; text: id_number_t)

IF Left(This.GetBandAtPointer(),  7 ) = "header~t" THEN
	ls_object = This.GetObjectAtPointer()
	li_len = len(ls_object)
	ls_object = Left(ls_object, li_len -  2 )
	IF Right(ls_object,  1 ) = "h" THEN
		//No border
		This.Modify(ls_object + ".border = '0'")
		RETURN
	END IF
END IF

IF Left(This.GetBandAtPointer(),  7 ) = "header~t" THEN
	s_object = This.GetObjectAtPointer()
	s_object = Left(s_object, Pos(s_object, "~t") -  1 )
	s_col_name = Left(s_object, Len(s_object) -  2 )
	//3d lowered border
	This.Modify(s_object + ".border = '5'")
	IF This.tag = s_col_name + "A" THEN
		This.SetSort(s_col_name + " D ")
		This.tag = s_col_name + "D"
	ELSE
		This.SetSort(s_col_name + " A ")
		This.tag = s_col_name + "A"
	END IF
	This.Sort()
	//3d raised border
	This.Modify(s_object + ".border = '6'")
END IF
...
Рейтинг: 0 / 0
15.05.2007, 10:00
    #34525204
учусь
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в dw
Спасибо.
...
Рейтинг: 0 / 0
15.05.2007, 11:02
    #34525464
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в dw
Как вариатн, если много DW правленных руками с заголовками без имен или не соответствующими полям, то можно искать колонку по координате X

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
// Проверяем на попадение в HEADER
if This.Describe(s_name + ".Band") <> "header" Then return

i_x=integer(this.describe(dwo.name+".x"))

// проверяем является ли объект заголовком колонки
i5=long(this.Object.DataWindow.Column.Count)
for i4= 1  to i5
	if integer(this.describe("#"+string(i4)+".x"))=i_x then
		is_ColumnClicked=this.describe("#"+string(i4)+".name") 
		exit
	end if 
next 
... сортируем ...
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Сортировка в dw / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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