Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вопросы по ShareData / 11 сообщений из 11, страница 1 из 1
03.03.2005, 11:29
    #32943181
E-doc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
Собственно, вопросы:

1. Есть ли способ узнать, данные в DW получены выборкой из базы или через ShareData?

2. Согласно help, вызов функции Filter для secondary DW, отфильтрует данные во ВСЕХ отшаренных DW, а не только в том, для которого он был выполнен. Как в таком случае показать разный набор данных в двух разных DW с одним источником ShareData?
...
Рейтинг: 0 / 0
03.03.2005, 11:40
    #32943215
zuzu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
почитай побольше про ShareData,
помоему ты не понел что это такое
...
Рейтинг: 0 / 0
03.03.2005, 13:41
    #32943603
E-doc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
Я достаточно прочитал про ShareData, чтобы задать конкретные вопросы, с которыми сам не смог справиться. А кое-кому хорошо бы почитать учебник русского языка.
...
Рейтинг: 0 / 0
03.03.2005, 14:06
    #32943689
alexis glinski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
E-doc1. Есть ли способ узнать, данные в DW получены выборкой из базы или через ShareData?
да, ты же их зашарил ...
E-doc2. Согласно help, вызов функции Filter для secondary DW, отфильтрует данные во ВСЕХ отшаренных DW, а не только в том, для которого он был выполнен. Как в таком случае показать разный набор данных в двух разных DW с одним источником ShareData?
согласно Help:
PB HelpShares data retrieved by one DataWindow control (or DataStore), which is referred to as the primary DataWindow, with another DataWindow control (or DataStore), referred to as the secondary DataWindow. The controls do not share formatting; only the data is shared, including data in the primary buffer, the delete buffer, the filter buffer, and the sort order.
на то это и ShareData чтоб данные одинаковые были (во всех буферах) ...
...
Рейтинг: 0 / 0
03.03.2005, 14:39
    #32943838
E-doc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
Н-да... попробую объяснить по-другому.

К вопросу 1:

Вот я нарисовал datawindow object в DW painter, зашел на закладочку data и внес начальные данные. Нажал правую кнопку мыши, в меню выбрал ShareData. Теперь у меня это DW изначально содержит данные. НО! Если я выполню Retrieve, выберутся данные из базы, согласно моему запросу. Как мне знать, данные у меня из базы или еще нет? Понятно, что можно флажок завести. Но ведь сам DW object знает откуда ему отображать данные, когда его ставлю в DW control.

Теперь для чего все это нужно. Есть DataStore, который содержит данные. Есть отшаренный из него DW, в котором пользователь видит список и выбирает из него несколько значений путем SelectRow(). НО! Если потом установить фильтр на DW = IsSelected(), чтобы получить только выбранные строки, то окно будет пустым, потому что этот фильтр передается в источник данных, то есть в DataStore, а там нет выделенных строк! Если попутно при выделении строки в DW делать выделение ее же в DataStore, тогда все работает как надо. То есть мне нужно знать, какие у меня сейчас отображаются данные в списке, выбранные самостоятельно или отшаренные - чтобы по разному выделять данные? При этом, после закрытия окна с DW-справочником, строки, выделенные мною в DataStore останутся выделенными, что тоже плохо.

К вопросу 2:

Есть, к примеру, список людей, мужского и женского пола, выбранный по определенным критериям. Мне нужно показать в одном DW только мужчин, в другом - только женщин. Понятно, что можно сделать два отдельных DW с разными условиями выборки. Но у меня уже есть готовый список всех нужных мне людей, нужно просто показать в разных DW разные его части. Как вариант - использовать RowsMove + обработку статусов строк для последующего правильного update в базу. Но как-то это муторно.
...
Рейтинг: 0 / 0
03.03.2005, 14:47
    #32943880
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
К вопросу 2:
А не проще использовать простое DW c Retrieval Arguments ?
...
Рейтинг: 0 / 0
03.03.2005, 14:54
    #32943904
E-doc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
urvasК вопросу 2:
А не проще использовать простое DW c Retrieval Arguments ? Можно использовать. Но теряется преимущество одного источника данных.
...
Рейтинг: 0 / 0
03.03.2005, 15:02
    #32943933
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
Искренне хочу понять для данного случая преимущество т.н. "одного источника данных":
Есть, к примеру, список людей, мужского и женского пола, выбранный по определенным критериям. Мне нужно показать в одном DW только мужчин, в другом - только женщин.
...
Рейтинг: 0 / 0
03.03.2005, 15:51
    #32944101
E-doc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
urvasИскренне хочу понять для данного случая преимущество т.н. "одного источника данных":
Есть, к примеру, список людей, мужского и женского пола, выбранный по определенным критериям. Мне нужно показать в одном DW только мужчин, в другом - только женщин. urvas , ну что вы так серезно к этому отнеслись, я же для примера только привел. Приведу другой пример. Есть некий объем информации, скажем, договор с платежами, платежи могут быть разных типов, отображать их нужно по разному, но сохранять только все вместе с договором. Или список лиц, задействованных в этом договоре - берется из одной таблицы, все лица различаются только набором признаков, согласно которым и редактируются по-разному. Но сохраняются тоже только вместе с договором. Мне кажется более логичным сохранять один datastore, чем много мелких DW. Но отфильтровать этот datastore для одновременного отображения в одном окне разных данных я не могу. А жаль. Придется искать другой способ их разделения.
...
Рейтинг: 0 / 0
03.03.2005, 16:24
    #32944266
zuzu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
ShareData для того чтобы иметь одинаковые данные, в твоем случак тебе этот ShareData не нужен, юзай один DS + RowsCopy для своих ДВ, да к 1 вопосу смотри статус.
...
Рейтинг: 0 / 0
03.03.2005, 21:01
    #32944930
E-doc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по ShareData
zuzuShareData для того чтобы иметь одинаковые данные, в твоем случак тебе этот ShareData не нужен, юзай один DS + RowsCopy для своих ДВ, да к 1 вопосу смотри статус. Статус чего? Строки, столбца какого-либо или еще какой-то?
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вопросы по ShareData / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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