2012-07-23 11 views
1

Я создал DropDownListBox внутри Datawindow.PowerBulder DropDownListBox внутри Datawindow

После изменения элемента я установил и сохранил значение выбранного элемента в этом DropDown в INI-файле.

В моем открытом событии я использую setitem для установки сохраненного значения в этом раскрывающемся списке. Проблема заключается в том, что в этом выпадающем меню он не устанавливаетфокусировку на этот индекс выбранного элемента.

Я также использовал SetRow(), setcolumn(), SetText(), чтобы сделать фокусировку выделенного текста. Проблема в том, что у меня есть более 100 предметов. Когда выбранное значение находится посередине, скажем, индекс №50, фокус ScrollBar по-прежнему находится в верхнем индексе №1, а не в индексе №50.

Любая помощь? Благодарю.

+0

Powerbuilder. Вау! Кто-нибудь еще программирует PowerBuilder в этом столетии? – paulsm4

+1

Конечно, это все еще замечательно :) – Maximus

+0

Я пытался использовать VB.Net для этого, но я могу быстрее программировать с помощью Power Builder :) – Sid

ответ

2

1) Попробуйте играть с SetRedraw

dw.SetRedraw(false) 
dw.SetItem(...) 
dw.SetRedraw(true) 

2) Попробуйте использовать DDDW вместо DDLW. И используйте DDDW с целым столбцом индекса. Иногда строитель терпит неудачу с строковыми «ключами»

+0

Сначала я использовал dddw, но я привел к ddlb. Я не использовал dddw, потому что я просто заполняю ddlb с помощью For Loops значений, полученных из реестра. – Sid

+0

SetRedraw не помог. FYI – Sid

+0

И как вы переделали ddlb? и когда? – Maximus

0

A) Это намного проще с редактированием в стиле DDDW прямо в окне данных. Вы просто делаете SetItem (строка, столбец, значение), чтобы установить начальное значение в раскрывающемся списке.

B) Что было сказано, я бы не назвал более 100 предметов в списке «эффективный дизайн пользовательского интерфейса». Я бы разработал это в editbox с возможностями поиска по типу, как вы видите на странице поиска Google.

+0

Я эмулирую варианты стиля шрифта. – Sid

Смежные вопросы