Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Добавление строки в DDDW. / 13 сообщений из 13, страница 1 из 1
06.09.2004, 13:43
    #32681350
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
Нужна помощь!

Есть DW (dw) с единственным полем - DDDW. Получаю данные в DDDW:

dw.SetTransObject(sqlca)
dw.Retrieve()

Теперь нужно добавить в DDDW строку "ALL":

Datawindowchild ldwc
integer ll_i

dw.GetChild('company', ldwc)

ll_i = ldwc.InsertRow(1)
ldwc.SetItem(ll_i, "company", "ALL")

Теперь нужно, чтобы этa строкa "светилaсь" по умолчанию:

SelectRow(ldwc, 0, FALSE)
ldwc.SelectRow(1, TRUE)
ldwc.ScrollToRow(1)

Но получается, что на экране видна вторая строка из DDDW (т.е. та, которая была получена первой из базы данных). Хотя при открытии DDDW (нажатие на стрелочку) видна подсвеченной строка "ALL".
Что в скрипте сделане неправильно? Как сделать так, чтобы слово "ALL" было видно на экране изначально?
...
Рейтинг: 0 / 0
06.09.2004, 13:57
    #32681386
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
Riska...

ll_i = ldwc.InsertRow(1)
ldwc.SetItem(ll_i, "company", "ALL")

...

SelectRow(ldwc, 0, FALSE)
ldwc.SelectRow(1, TRUE)
ldwc.ScrollToRow(1)
А почему SelectRow и ScrollToRow Вы деаете для 1-й строки?
правиьно будет делать для строки, номер которой хранится в ll_i. Т.е. так:
SelectRow(ldwc, 0, FALSE)
ldwc.SelectRow( ll_i , TRUE)
ldwc.ScrollToRow( ll_i )
---
С уважением, IKAR

ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
06.09.2004, 14:04
    #32681404
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
Версия PB? Если уйти из поля показывается новое значение?
...
Рейтинг: 0 / 0
06.09.2004, 14:15
    #32681433
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
SelectRow(ldwc, 0, FALSE)
ldwc.SelectRow(ll_i, TRUE)
ldwc.ScrollToRow(ll_i)

Результат тот же :(
В дальнейшем все работает, как надо.
...
Рейтинг: 0 / 0
06.09.2004, 14:17
    #32681440
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
Version: PB8.
...
Рейтинг: 0 / 0
06.09.2004, 14:47
    #32681538
Вовик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
Создайте в основном DW еще одну колонку ( №2 ) .
После добавления строки в dddw и всех ваших манипуляций
сделайте
Код: plaintext
1.
SetColumn( 2 )
SetColumn( 1 )
...
Рейтинг: 0 / 0
06.09.2004, 15:08
    #32681590
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
ВовикСоздайте в основном DW еще одну колонку ( №2 ) .
После добавления строки в dddw и всех ваших манипуляций
сделайте
Код: plaintext
1.
SetColumn( 2 )
SetColumn( 1 )


dw.SetFocus()
dw.SetColumn(2)
dw.SetColumn(1)

Никаких изменений. Ставил перед ScrollToRow и после - результат тот же.
...
Рейтинг: 0 / 0
06.09.2004, 15:19
    #32681617
gz
gz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
Может быть, дело просто в высоте "менюшки" ?
Если да, то при ее инициализации добавьте в меню пустые строки - чтобы увеличить высоту окна меню, а затем при вставке удаляйте одну пустую строку (если она есть).
...
Рейтинг: 0 / 0
06.09.2004, 15:38
    #32681666
Сотников
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
Я так понял у вас DisplayColumn и DataColumn в DDDW одно и тоже поле.

Вы сделайте так
Код: plaintext
1.
2.
3.
ll_i = ldwc.InsertRow( 1 )
ldwc.SetItem(ll_i, "company", "ALL")
dw.SetItem(dw.getrow(), "company", "ALL")

и никакого SelectRow и ScrollRow не надо
...
Рейтинг: 0 / 0
06.09.2004, 15:39
    #32681669
rcryo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
А кто будет делать
Код: plaintext
ldw.SetItem(ldw.GetRow(), 'company', 'ALL')
?
...
Рейтинг: 0 / 0
06.09.2004, 15:41
    #32681676
Сотников
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
rcryoА кто будет делать
Код: plaintext
ldw.SetItem(ldw.GetRow(), 'company', 'ALL')
?

А вот это не верно, объект не тот!
...
Рейтинг: 0 / 0
06.09.2004, 16:21
    #32681782
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
СотниковЯ так понял у вас DisplayColumn и DataColumn в DDDW одно и тоже поле.

Вы сделайте так
Код: plaintext
1.
2.
3.
ll_i = ldwc.InsertRow( 1 )
ldwc.SetItem(ll_i, "company", "ALL")
dw.SetItem(dw.getrow(), "company", "ALL")

и никакого SelectRow и ScrollRow не надо
СПАСИБО!!! РАБОТАЕТ!!!
Действительно, ничего больше делать не надо.
...
Рейтинг: 0 / 0
06.09.2004, 16:56
    #32681881
rcryo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление строки в DDDW.
СотниковА вот это не верно, объект не тот!
Действительно не ldw а dw, но это было не в ответ на ваш пост. Пока писал свой ответ, вы опередили
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Добавление строки в DDDW. / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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