powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Сортировка групп в DW
15 сообщений из 15, страница 1 из 1
Сортировка групп в DW
    #33159861
Andrew.V.S.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая замечательная функция dwcontrol.SetSort ( format ) .
Если ей передать параметром NULL, PB приложение открывает диалог, позволяющий настроить сортировки, как в Paiter`е.

Но это только общая сортировка (аналог "menu \ Rows \ Sort..."). А хотелось бы таким еще открывать диалог настройки сортировок групп (аналог "menu \ Rows \ Edit Rows... \ Sort groups").

Возможно ли такое?

Sorry, если вопрос глупый, и это делается элементарно, но вот чес-слово ничего подходящего в help`е не нашел...

ЗЫ: PB 6.0
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33160231
gz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gz
Гость
Andrew.V.S.... хотелось бы таким еще открывать диалог настройки сортировок групп (аналог "menu \ Rows \ Edit Rows... \ Sort groups").

Возможно ли такое?

Дело в том, что "строк с группами" не существует. Они вычисляются на основе детальных строк, как сейчас модно говорить, "на лету" и вставляются в отчет. Поэтому вопрос, действительно, некорректный. Это касается не только DataWindow, но и прочих средств получения отчетов, например, SQL-PLUS для Oracle.
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33161749
Andrew.V.S.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gz Andrew.V.S.... хотелось бы таким еще открывать диалог настройки сортировок групп (аналог "menu \ Rows \ Edit Rows... \ Sort groups").

Возможно ли такое?

Дело в том, что "строк с группами" не существует. Они вычисляются на основе детальных строк, как сейчас модно говорить, "на лету" и вставляются в отчет. Поэтому вопрос, действительно, некорректный.
Т.е. после того, как данные загружены и все группировки вычислены, нельзя определить, к какой группировке относится данная строка? Гм...

Попробую с другой стороны...
В синтаксисе DW есть такая строка:
Код: plaintext
group(level= 2  header.height= 136  trailer.height= 0  by=("grp_field_2" ) header.color="553648127" trailer.color="536870912"  sort="sort_fld A " )

Есть ли у DW ф-ция, позволяющая изменить параметр sort="sort_fld A " на, скажем, sort="sort_fld D " ?

А затем так же "на лету" как и при загрузке данных, вычислить группирующие строки и упорядочить их?
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33162244
zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew.V.S.
Есть ли у DW ф-ция, позволяющая изменить параметр "на лету"
modify
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33162363
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew.V.S.А затем так же "на лету" как и при загрузке данных, вычислить группирующие строки и упорядочить их?
http://lokshinmark.narod.ru/tips.htm#tip0014
Оно?
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33165104
gz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gz
Гость
to Andrew.V.S.
Вопрос оказался вовсе не глупым. Прошу прощения
По-моему, единственный путь осуществить то, что Вы задумали, это править синтаксис DW с последующим использованием функции Create
Возможно, Гуру этого форума меня поправят
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33165134
zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй связку modify и GroupCalc
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33168226
Andrew.V.S.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Локшин Марк
Видимо, п. 2 - изменение синтаксиса DW - оно. Хотя и очень не хотелось это делать.

to gz
Судя по всему, гуру согласны :)

Кстати, с сортировками групп натолкнулся еще на одну проблему: вторая и далее группы не сортируются, т.е. просто игнорируют заданный для группы параметр sort. Решил проблему установкой PB 8.0 Professional (что нашлось :-//) + EBF от апреля сего года.

А в PB 8.0 Pro почему-то задизаблена возможность редактирования DataSource существующего DW. И при попытке править Syntax вручную он падает замертво.

Вот такая вот фигня...

Всем большое спасибо за помощь.
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33168656
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew.V.S. wrote:

> Кстати, с сортировками групп натолкнулся еще на одну проблему: вторая и
> далее группы не сортируются, т.е. просто игнорируют заданный для группы
> параметр sort. Решил проблему установкой PB 8.0 Professional (что
> нашлось :-//) + EBF от апреля сего года.

Ты EBF ставил прямо на 8.0? И оно ещё работает?
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33169083
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew.V.S.Видимо, п. 2 - изменение синтаксиса DW - оно. Хотя и очень не хотелось это делать.
Обратите внимание на пункт 4 - задается группировка/сортировка по compute field (допустим по cf_1), а затем expression для cf_1 меняется при помощи modify на необходимый - в итоге имеем то, что требуется.
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33169522
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обратите внимание на пункт 4 - задается группировка/сортировка по compute field (допустим по cf_1), а затем expression для cf_1 меняется при помощи modify на необходимый - в итоге имеем то, что требуется.
Это и есть ЕДИНСТВЕННЫЙ правильный метод.
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33172427
Endymion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а можно поподробней про групировку по compute field

это разве не полностью перестройка всех груп ?
а целью была сортировка ?
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33172435
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы не можете динамически менять определения групп.
Вы можете определить группы на основе computed field.
Вы можете менять динамически определения computed field.
Чтобы сортировка работала нормально, первыми в списке сортировки должны идти поля по которым делается группировка, сортировку Вы можете задать динамически без проблем.
Сортировка групп это часть определения группы.
Что не понятно?
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33172766
gz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gz
Гость
Может я чего-то недопонимаю, поправьте, пожалуйста
Сортировка групп, заданная в определении групп, предназначена, в общем-то, для пересортировки групп по каким-то выражениям, в которые включены групповые функции. Например, группировка задана по коду подразделения, а внутри поразделения - табельные номера, допустим, с зарплатой. Если сортировки групп нет, то имеем - подразделение 1 со своими табельными номерами, затем идет подразделение 2, ...
Задаем сортировку групп, допустим, выражение - сумма зарплаты для группы по возрастанию. При этом группы должны пересортироваться - допустим, сначала идет подразделение 4, поскольку у него сумма зарплаты - наименьшая, затем подразделение 2 с суммой зарплаты побольше, ...
Насколько я понимаю, выполнить эту пересортировку можно только после первого прохода по детальным строкам и получения значений вычисляемых выражений (выражения, подчеркиваю, с применением функций типа Sum( SUMPAY for Group 1)). После чего требуется переместить группы строк на нужное место. Именно такой механизм, по идее, должен быть заложен в PB. Т.е. сей механизм должен работать за 2 прохода.
Как это можно реализовать с помощью тех предложений, которые приведены выше, мне непонятно.
...
Рейтинг: 0 / 0
Сортировка групп в DW
    #33191067
Andrew.V.S.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Dim2000: Да, EBF на 8.0. В итоге - Build 7039. И работает... Не должно? :)

to All: Спасибо за совет, но мне кажется, дешевле изменить синтаксис, чем вычислять значения для computed fields по которым группы будут отсортированы в соответствии с заданным пользователем порядком вида "grp_count_2 D count(grp_field_2 for group 2) A ".

К тому же крайне не хотелось бы выносить в приложение специфичный для конкретного DW код.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Сортировка групп в DW
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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