|
|
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Помогите новичку, на PowerBuilder перехожу с Delphi. Есть DataWindow, отображающий поля account и adress, при открытии окна в режиме Grid только для чтения. Нужно для него сделать шапку, где вводится значение account, нажимается ENTER и в DataWindow отображаются только записи соответствующие введеному значению account. 1) Как при нажатии ENTER добавить условие WHERE в SQL-запрос DataWindow ? 2) Как отобразить этот же DataWindow в другом окне по двойному клики мышки на любой строке этого DataWindow, но уже в режиме Freeform для редактирования ? Или придется создавать новый DataWindow с таким же SQL-запросом но в режиме Freeform ? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 14:08 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Как вариант Надо поместить на форму SingleLineEdit Control (напр. sle_1) и CommandButton (напр. можно назвать кнопку Enter). В Sle_1 вводим значение account. В событии кнопки Clicked и вызвать методы DataWindow SetFilter() и Filter() см. HELP: Код: plaintext 1. З.Ы. Советую ознакомиться с Help"ом, примерами в комплекте с PowerBuilder, там много чего интересного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:07 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Вариант с фильтрами вполне подходит, но есть одно но... В таблице много записей (более 200 тыс.), не хочется тянуть их все на клиента, поэтому используется TOP 100. А фильтр, не производит повторного запроса на сервер, а фильтрует данные клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:16 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
lionerЗдравствуйте! Помогите новичку, на PowerBuilder перехожу с Delphi. Есть DataWindow, отображающий поля account и adress, при открытии окна в режиме Grid только для чтения. Нужно для него сделать шапку, где вводится значение account, нажимается ENTER и в DataWindow отображаются только записи соответствующие введеному значению account. 1) Как при нажатии ENTER добавить условие WHERE в SQL-запрос DataWindow ? 2) Как отобразить этот же DataWindow в другом окне по двойному клики мышки на любой строке этого DataWindow, но уже в режиме Freeform для редактирования ? Или придется создавать новый DataWindow с таким же SQL-запросом но в режиме Freeform ? Заранее спасибо. 1. Для этого можно использовать SetSQLSelect, но если эти данные уже отобраны разумнее их фильтровать на клиенте при помощи SetFilter(...)/Filter() 2. Придется создавать новое DataWindow в режиме FreeForm, причем SQL запрос к нему прикреплять совершенно не обязательно (можно создать DataWindow типа External) - главное чтобы Resultset SQL запроса совпадал с тем, что объявлено в External DataWidnow. А данные туда/сбда с помощъю RowsMove(...) гонять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:17 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Запрос выглядит так: Код: plaintext 1. 2. 3. Хочется получить такое: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:19 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Метод Retrive() Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:23 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
lionerЗапрос выглядит так: Код: plaintext 1. 2. 3. Хочется получить такое: Код: plaintext 1. 2. 3. 4. В режиме редактирования запроса Design/Retrieval Arguments указываете account типа string и свой запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:24 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
к Локшин Марк: Не хочется запоминать старый вариант SQL, записывать новый вариант SQL, используя ф-ции GetSqlSelect и SetSqlSelect. Может быть можно шапку сделать в виде еще одного DataWindow, связать его с моим DataWindow по параметру :account ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:24 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Что то не получается... Отредактировал запрос так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:34 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
lionerЧто то не получается... Отредактировал запрос так: Код: plaintext 1. 2. 3. 4. Еще раз. При редактировании SQL запроса зайдите в меню Design/Retrieval arguments объявите там аргумент account типа string и напишите запрос Код: plaintext 1. 2. 3. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:40 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Сделал так: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:51 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Локшин Марк Пытаться писать что-то типа sle_1.text внутри SQL запроса - в корни неправильно, т.к. это просто текст SQL запроса и ни о каких объектах PowerBuilder'а он не знает. Я читаю книгу PowerBuilder 5.0 Брайана Дж. Смита и Гордона У. Шаада. Они приводят пример встроенного запроса: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:58 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Может Query mode подойдет? См. справку по QueryMode DataWindow object property ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:05 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Запарился с "%" в конце like, сори ))) Но все равно PB ругается на конструкцию: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:09 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
lioner Локшин Марк Пытаться писать что-то типа sle_1.text внутри SQL запроса - в корни неправильно, т.к. это просто текст SQL запроса и ни о каких объектах PowerBuilder'а он не знает. Я читаю книгу PowerBuilder 5.0 Брайана Дж. Смита и Гордона У. Шаада. Они приводят пример встроенного запроса: Код: plaintext 1. 2. 3. 4. 5. Различайте Embeded SQL и запрос в DataWindow и DataStore - это совершенно разные вещи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:10 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
lionerЗапарился с "%" в конце like, сори ))) Но все равно PB ругается на конструкцию: Код: plaintext 1. Потому, что теперь ищется строка :account% Нужно так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:11 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyМожет Query mode подойдет? См. справку по QueryMode DataWindow object property К сожалению DataWindow я создавал в режиме Quick Select и не знаю как перевести его теперь в режим Query... Не очень хочется заново создавать DataWindow в режиме Query... P.S. Да уж... После Delphi PB смортится какой-то очень громоздкой и неудобной средой разработки... ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:12 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Локшин МаркНужно так Код: plaintext 1. Сделал именно так ! Может из за того что я в режиме Quick Select и PB не понимает синтаксис ? Вылетает такая ошибка: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:18 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Ну наконец-то !!!!!!!!!!! Запрос такой: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:26 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
lionerС пунктом 1) разобрался. Как быть с пунктом 2) ? Функция ShareData мне поможет ? На второй вопрос я Вам уже ответил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:28 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
lioner wrote: > P.S. Да уж... После Delphi PB смортится какой-то очень громоздкой и > неудобной средой разработки... ((( Глупость года. Впрочем, ожидаемая. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:37 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Локшин Марк2. Придется создавать новое DataWindow в режиме FreeForm, причем SQL запрос к нему прикреплять совершенно не обязательно (можно создать DataWindow типа External) - главное чтобы Resultset SQL запроса совпадал с тем, что объявлено в External DataWidnow. А данные туда/сбда с помощъю RowsMove(...) гонять. Дико извиняюсь... У меня PB версии 8.0. Выбрал File->New->FreeForm->External, появилось окно... Что в поле name мне указать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:42 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
lioner Локшин Марк2. Придется создавать новое DataWindow в режиме FreeForm, причем SQL запрос к нему прикреплять совершенно не обязательно (можно создать DataWindow типа External) - главное чтобы Resultset SQL запроса совпадал с тем, что объявлено в External DataWidnow. А данные туда/сбда с помощъю RowsMove(...) гонять. Дико извиняюсь... У меня PB версии 8.0. Выбрал File->New->FreeForm->External, появилось окно... Что в поле name мне указать ? В полях name нужно описать структуру точно такую же как возвращает ваш запрос и указать такие же типы, тогда между DataWindow данные можно перемещать будет при помощи RowsMove(...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 17:19 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Локшин Марк lioner Локшин Марк2. Придется создавать новое DataWindow в режиме FreeForm, причем SQL запрос к нему прикреплять совершенно не обязательно (можно создать DataWindow типа External) - главное чтобы Resultset SQL запроса совпадал с тем, что объявлено в External DataWidnow. А данные туда/сбда с помощъю RowsMove(...) гонять. Дико извиняюсь... У меня PB версии 8.0. Выбрал File->New->FreeForm->External, появилось окно... Что в поле name мне указать ? В полях name нужно описать структуру точно такую же как возвращает ваш запрос и указать такие же типы, тогда между DataWindow данные можно перемещать будет при помощи RowsMove(...) для новичка надо четче формулировать. например так Name, Type, Length надо списать со страницы Column Specification того Datawindow из которого будете делать RowsMove/ShareData. как то так. а то ж он запарится описывать в терминах DW то что запрос возвращает. З.Ы. со временем может научицца делать это через Edit Source ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 17:30 |
|
||
|
DataWindow с возможностями поиска по его полям
|
|||
|---|---|---|---|
|
#18+
Создал в новом окне новый DW с таким же Resultset, поместил его в DW Control в новое окно w_services (w_services.dw_1). В событии doubleclicked первого DataWindow (w_account.dw_1) пишу: Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 17:30 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=35447592&tid=1336594]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 167ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...