powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ComboBox + Grid
9 сообщений из 9, страница 1 из 1
ComboBox + Grid
    #34761345
Lasber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!!!
недавно только столкнулся с VFP подскажите пожалуста.
Есть ComboBox и Grid, нужно чтобы при выборе определенного значения из ComboBox
данные из Grid тоже оперделенным образом менялись.
Помогите пожалуста новичку, ну или может мануал кто какой по формам подскажет
...
Рейтинг: 0 / 0
ComboBox + Grid
    #34761568
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для этого вам надо в событии InteractiveChange объекта ComboBox написать свой код, который будет менять данные в курсоре (таблице) - источнике данных для вашего объекта Grid. Как будет менять, зависит от вашего предпочтения: SET FILTER... COPY TO, SELECT - SQL.
С уважением, Алексей
...
Рейтинг: 0 / 0
ComboBox + Grid
    #34761680
Lasber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-KДля этого вам надо в событии InteractiveChange объекта ComboBox написать свой код, который будет менять данные в курсоре (таблице) - источнике данных для вашего объекта Grid. Как будет менять, зависит от вашего предпочтения: SET FILTER... COPY TO, SELECT - SQL.
С уважением, Алексей

Спасибо за подсказку!
А как сделать соответствие между значением ComboBox и выполняемым кодом. Что то на подобии CASE: выбрал "первое значение ComboBox" произошло то, выбрал "второе значение ComboBox" произошло то ..... Помогите с этим разобраться, а дальше буду эксперементировать
...
Рейтинг: 0 / 0
ComboBox + Grid
    #34761905
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если у вас ComboBox имеет 2-5 значений это может годиться, а если их 20 ? А если вы заранее не знаете сколько строк будет в ComboBox?!
Проще всего выводить в ComboBox таблицу ( курсор) в которой будет поле, которое будет определять данные выводимые в GRID.
Ну например, у вас в ComboBox выводятся категории продуктов, а в GRID надо вывести список продуктов выбранной в ComboBox категории. Тогда:
1. "Привязываете" ComboBox к таблице (курсору) категорий, например ListCateg
Код: plaintext
1.
2.
3.
4.
WITH THISFORM.cboListCateg
  .RowSourceType =  2 
  .RowSource = "ListCateg.Name"
  .Value = ListCateg.Name
ENDWITH
Список всех продуктов пусть хранится в таблице ( курсоре ) ListProd
Тогда в событии InteractiveChange объекта ComboBox надо написать код, который будет делать выборку из ListProd для выбранной категории.
Для этого можно в GRID выводить данные из другого курсора, пусть он называется SelProd:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
InteractiveChange:
LOCAL m.lcCategProd

ZAP IN SelProd
m.lcCategProd = UPPER(ALLTRIM(ListCateg.Name))
INSERT INTO SelProd ;
SELECT * FROM ListProd ;
WHERE UPPER(ALLTRIM(ListCateg.Name)) == m.lcCategProd 
Разумеется, в событии init формы надо все таблицы (курсоры) открыть (создать) и "привязать" GRID к курсору SelProd
С уважением, Алексей
...
Рейтинг: 0 / 0
ComboBox + Grid
    #34762519
Lasber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное за этот способ!!
Но возникли некоторые вопросы
в ComboBox мне надо выводить например Номер магазина (n_mag), соответсвенно в Grid будут выводиться отделы(n_otdel) магазина. Такая таблица:
_____________
|n_mag|n_otdel|
|__1__|__101__|
|__1__|__102__|
|__2__|__201__|
|__2__|__202__|
|__3__|__103__|

Вышеописаным способом в ComboBox будут содержаться повторяющиеся записи. Вопрос: можно сделать чтоб они не повторялись?
(т.е выводит: 1,1,2,2,3 а хотелось бы 1,2,3)
Aleksey-K Ну если у вас ComboBox имеет 2-5 значений это может годиться, а если их 20 ?
у меня действительно немного значений, поэтому я сразу подумал про аналог CASE. Может есть такой: чтоб на каждое значение можно написать свой код
...
Рейтинг: 0 / 0
ComboBox + Grid
    #34762618
Lasber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное за этот способ!!
Но возникли некоторые вопросы
в ComboBox мне надо выводить например Номер магазина (n_mag), соответсвенно в Grid будут выводиться отделы(n_otdel) магазина. Такая таблица:
_____________
|n_mag|n_otdel|
|__1__|__101__|
|__1__|__102__|
|__2__|__201__|
|__2__|__202__|
|__3__|__103__|

Вышеописаным способом в ComboBox будут содержаться повторяющиеся записи. Вопрос: можно сделать чтоб они не повторялись?
(т.е выводит: 1,1,2,2,3 а хотелось бы 1,2,3)
Aleksey-K Ну если у вас ComboBox имеет 2-5 значений это может годиться, а если их 20 ?
у меня действительно немного значений, поэтому я сразу подумал про аналог CASE. Может есть такой: чтоб на каждое значение можно написать свой код
...
Рейтинг: 0 / 0
ComboBox + Grid
    #34762953
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВышеописаным способом в ComboBox будут содержаться повторяющиеся записи. Вопрос: можно сделать чтоб они не повторялись?
Укажите в качестве источника комбо запрос с группировкой по номеру магазина

RowSourceType=3
RowSource='SELECT n_mag FROM ListCateg GROUP BY n_mag INTO CURSOR q_mag'
...
Рейтинг: 0 / 0
ComboBox + Grid
    #34763070
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку ты только учишся, то лучше спрашивай как решить задачу, а не как решить задачу тем способом который ты придумал. Простейший вариант смотри во вложении.

То, что сделано в Form.Load можно выполнить в DataEnvironment формы. В примере - это просто формирование таблиц-источников и настройка связи между ними.

Тогда весь код - это всего 2 строчки в Form.Init и одна строчка в Combo.Valid. Все остальное делается визуальными средствами.
...
Рейтинг: 0 / 0
ComboBox + Grid
    #34766369
Lasber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо всем к помог!!!!!!!!!!!
Во всем разобрался, еще раз спасибо
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ComboBox + Grid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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