Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Composite DataWindow: Sort & Filter / 12 сообщений из 12, страница 1 из 1
23.08.2007, 17:54
    #34748861
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite DataWindow: Sort & Filter
Имеем:
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
23.08.2007, 19:18
    #34749072
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite DataWindow: Sort & Filter
Black SavageЯ зашариваю DataWindow Control с описанным выше DataStore,
Кто из них Primary?
...
Рейтинг: 0 / 0
23.08.2007, 20:03
    #34749161
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite DataWindow: Sort & Filter
Код: plaintext
my_DataStore.ShareData(my_DataWindow)
...
Рейтинг: 0 / 0
23.08.2007, 20:10
    #34749169
ИвановНН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite DataWindow: Sort & Filter
Может вызвать функции 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
23.08.2007, 20:12
    #34749175
ИвановНН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite DataWindow: Sort & Filter
прикольный номер поста был - 123 :-)
...
Рейтинг: 0 / 0
23.08.2007, 20:32
    #34749203
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite DataWindow: Sort & Filter
Коммент №1. Звучит подозрительно глупо. Composite DataWindow
- ИСКЛЮЧИТЕЛЬНО визуальный инструмент, какой смысл пихать его в DataStore и использовать ShareData, непонятно. Кроме того, ShareData НИКОГДА автоматически не шарит Child DataWindows...
...
Рейтинг: 0 / 0
24.08.2007, 09:56
    #34749757
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite DataWindow: Sort & Filter
To ИвановНН
Конечно не забыл.

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

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

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

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

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

Код: 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
24.08.2007, 12:13
    #34750375
oleg_shishkin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite DataWindow: Sort & Filter
из доки
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
24.08.2007, 12:22
    #34750423
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite DataWindow: Sort & Filter
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
27.08.2007, 11:16
    #34753877
oleg_shishkin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Composite DataWindow: Sort & Filter
Black Savage To oleg_shishkin
Только на секондери. Апчем я и написал выше:

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

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


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