powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Composite DataWindow: Sort & Filter
12 сообщений из 12, страница 1 из 1
Composite DataWindow: Sort & Filter
    #34748861
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем:
PowerBuilder 10.5.1 Build 6565
Есть хитрожопое Composite DataWindow , в котором параметры на Sort и Filter
для Report Objects устанавливаются в runtime . Этот Composite DataWindow
запихан в DataStore .

Я зашариваю DataWindow Control с описанным выше DataStore , используя
ShareData функцию. Это нужно, чтобы показать пользователю, а после распечатать данные,
находящиеся в DataStore . Т.е. есть некое общее окно для печати, в которое передается
это самое DataStore .

Так вот, тесты показывают, что при этом уходят в небытие Sort и Filter ,
установленные в runtime . И при печати видны данные, отвечающие Sort и Filter
критериям, установленным при дизайне DataWindow , на котором сделаны
Report Objects для Composite DataWindow .

Это нормальное поведение или я чего-то пропустил?

P.S.: Выше много букв, но хотелось бы услышать на ЭТО коменты. Плиз...
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34749072
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Black SavageЯ зашариваю DataWindow Control с описанным выше DataStore,
Кто из них Primary?
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34749161
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
my_DataStore.ShareData(my_DataWindow)
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34749169
Фотография ИвановНН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может вызвать функции Sort() и Filter() забыли?
Код: plaintext
1.
2.
3.
4.
my_DataStore.SetFilter( newFilter )
my_DataStore.Filter()
my_DataStore.SetSort( newSort )
my_DataStore.Sort()
my_DataStore.ShareData( my_DataWindow )
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34749175
Фотография ИвановНН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прикольный номер поста был - 123 :-)
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34749203
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коммент №1. Звучит подозрительно глупо. Composite DataWindow
- ИСКЛЮЧИТЕЛЬНО визуальный инструмент, какой смысл пихать его в DataStore и использовать ShareData, непонятно. Кроме того, ShareData НИКОГДА автоматически не шарит Child DataWindows...
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34749757
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To ИвановНН
Конечно не забыл.

To Филипп
Если бы ты видел ЭТОТ проект и ПОЧЕМУ надо сделать именно так, ты бы под стол упал от смеха.
Кстати, руководят проектом, твои нынешние сограждане - крутые Омерикосы.

Чтобы ты мог представить уровень маразма и профессионализма этих деятелей, приведу простой
пример. Один из ключевых деятелей проекта, тот который всем рулит и определяет, что и как
надо делать, создал окно About (ну обычное такое окно для любого крупного проекта).
А теперь представь, ЧТО можно было написать в этом окне, чтобы я с матом и поминанием всех
родственников этого чела - переделывал это окно!

ФилиппКроме того, ShareData НИКОГДА автоматически не шарит Child DataWindows...
А можно ссылочку бросить? Лучше на аглицком...
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34749951
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас провел следующие эксперименты:

1. Вместо DataStore , использовал DataWindow - результат тот же, т.е. сортировка
и фильтр слетают.
2. Взял и запихал в DataStore то DataWindow на котором сделаны Report Objects
в Composite DataWindow . Теперь все работает правильно , т.е. Sort & Filter не слетают.

Все же чего-то надо делать с Composite DataWindow ...
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34750077
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь вообще сомнений нет. Кусок кода, где все и происходит:

Код: plaintext
1.
2.
3.
4.
5.
string ls_filter1, ls_filter2
ls_filter1 = ids_dsprint.Object.d_print_role_privs_vic.Object.DataWindow.Table.Filter
	
li_error = ids_dsprint.ShareData(dw_preview)
// Проверил li_error =  1 
ls_filter2 = dw_preview.Object.d_print_role_privs_vic.Object.DataWindow.Table.Filter

После этого, ls_filter1 - содержит правильный фильтр, а ls_filter2 равен ? ,
тобишь ничего там нет.

Похоже, опять придется заниматься извратом:
1. Определить, что DataWindow есть Composite
2. Пробежаться, по всем Report Objects , перелить в буфер их Sort и Filter
3. Сделать ids_dsprint.ShareData(dw_preview)
4. Наложить на dw_preview полученные в пункте два Sort & Filter

Мдя. Накой это все надо?..
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34750375
oleg_shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
из доки
ShareData shares only the primary buffer of the primary DataWindow with the primary buffer of the secondary DataWindow

When you call methods in either the primary or secondary DataWindow that change the data, PowerBuilder applies them to the primary DataWindow control and all secondary DataWindow controls are affected.

в начале я думаю шарить надо , а потом и все фильтры и сорты накладывать на primary DataWindow
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34750423
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To oleg_shishkin
Только на секондери. Апчем я и написал выше:
Black Savage1. Определить, что DataWindow есть Composite
2. Пробежаться, по всем Report Objects, перелить в буфер их Sort и Filter
3. Сделать ids_dsprint.ShareData(dw_preview)
4. Наложить на dw_preview полученные в пункте два Sort & Filter

P.S.: Бансай твой, как там поживает?
...
Рейтинг: 0 / 0
Composite DataWindow: Sort & Filter
    #34753877
oleg_shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Black Savage To oleg_shishkin
Только на секондери. Апчем я и написал выше:

А там будет отображаться на primary :-( Лучше по старинке, как у нас - через rowcopy, а там делай что хошь

P.S.: Бансай твой, как там поживает?
Окна у нас ставят - пылища :-)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Composite DataWindow: Sort & Filter
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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