On-line: Andrey, гостей 3. Всего: 4 [подробнее..]
АвторСообщение
постоянный участник


Пост N: 534
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 30.03.16 12:01. Заголовок: Combo


Комбобокс строится на основании массива

 цитата:

DEFINE COMBOBOX Comb_F
ROW 10
COL 110
WIDTH 1007
HEIGHT 100
ITEMS mFilter
FONTNAME 'Arial'
TOOLTIP ''
END COMBOBOX


Массив mFilter в процессе работы меняется, а как Комбобокс обновить динамически.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 10 [только новые]


администратор




Пост N: 845
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.03.16 12:31. Заголовок: Vlad04 пишет: как ..


Vlad04 пишет:

 цитата:
как Комбобокс обновить динамически.


подсмотреть в справке по комбику , которая поставляется вместе с минигуи и использовать методы

METHODS:
· AddItem( cItemText ) Add a new item to a ComboBox control
· DeleteItem( nItemIndex ) Deletes an item from a ComboBox control
· DeleteAllItems Deletes all items from a ComboBox control

PS в примерах есть DinamicComdo

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 535
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 30.03.16 12:40. Заголовок: Вообщем я так и сдел..


Вообщем я так и сделал. Думал, может есть короче

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 846
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.03.16 12:43. Заголовок: Vlad04 пишет: Дума..


Vlad04 пишет:

 цитата:
Думал, может есть короче


короче есть только для комбика по DBF , там работает метод Refresh()
При комбо по массиву Refresh вывалит с ошибкой так что только примерно так
 
DoMethod( 'Form_1', 'Combo_1', 'DeleteAlItems')
Aeval( aArray, { |e| DoMethod( 'Form_1', 'Combo_1', 'AddItem', e ) } )



Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 914
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.03.16 17:16. Заголовок: Haz пишет: При комб..


Haz пишет:

 цитата:
При комбо по массиву Refresh вывалит с ошибкой


Добавил возможность обновлять ComboBox при изменении рабочего массива, ассоциированного с ним.

Контрольный пример см.ниже
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 847
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.03.16 17:38. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Добавил возможность обновлять ComboBox


Не совсем понятно как новый рабочий массив передается в комбо если он не private. Напрашивается новый метод типа SetArray( aArray ) и потом Refresh()
по сути следующие две строки это и делают
 
DoMethod( 'Form_1', 'Combo_1', 'DeleteAlItems')
Aeval( aArray, { |e| DoMethod( 'Form_1', 'Combo_1', 'AddItem', e ) } )


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 915
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.03.16 13:32. Заголовок: Haz пишет: Напрашив..


Haz пишет:

 цитата:
Напрашивается новый метод типа SetArray( aArray )


БЛАГОДАРЮ ЗА ПОДСКАЗКУ
Добавил новый метод SetArray( aArray ) для элементов управления COMBOBOX, GRID и LISTBOX

Тестовый пример ниже
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 537
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 01.04.16 09:45. Заголовок: gfilatov2002 Добави..


gfilatov2002

 цитата:

Добавил возможность обновлять ComboBox при изменении рабочего массива

Добавил новый метод SetArray( aArray )



Появится после очередного обновления ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 916
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 01.04.16 09:54. Заголовок: Vlad04 пишет: Появи..


Vlad04 пишет:

 цитата:
Появится после очередного обновления ?


Да, в апрельской сборке
С 1 апреля поздравляю Вас, кстати, из столицы юмора

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4852
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.04.16 22:37. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
DoMethod( Parent, Control, 'SetArray', aNewValues )



Классный метод. Сокращает написания кода.
А как сделать два COMBOBOX, чтобы у второго значения массива изменялось по первому ?

Т.е. типа справочника: COMBOBOX-ГОРОД и COMBOBOX-УЛИЦЫ....

Вот примерно так, но у меня не получилось....
Скрытый текст


P.S. Собирал новой версией 1604.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 892
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.04.16 13:29. Заголовок: Andrey пишет: Вот п..


Andrey пишет:

 цитата:
Вот примерно так, но у меня не получилось


Потому что в функции UpdateCombo2() сравниваешь теплое с мягким ( If aDim[nI,3] == nCity ) и результирующий массив будет всегда пуст

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 264
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет