|
|
|
ComboBox + Grid
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток!!! недавно только столкнулся с VFP подскажите пожалуста. Есть ComboBox и Grid, нужно чтобы при выборе определенного значения из ComboBox данные из Grid тоже оперделенным образом менялись. Помогите пожалуста новичку, ну или может мануал кто какой по формам подскажет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 13:41 |
|
||
|
ComboBox + Grid
|
|||
|---|---|---|---|
|
#18+
Для этого вам надо в событии InteractiveChange объекта ComboBox написать свой код, который будет менять данные в курсоре (таблице) - источнике данных для вашего объекта Grid. Как будет менять, зависит от вашего предпочтения: SET FILTER... COPY TO, SELECT - SQL. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 14:27 |
|
||
|
ComboBox + Grid
|
|||
|---|---|---|---|
|
#18+
Aleksey-KДля этого вам надо в событии InteractiveChange объекта ComboBox написать свой код, который будет менять данные в курсоре (таблице) - источнике данных для вашего объекта Grid. Как будет менять, зависит от вашего предпочтения: SET FILTER... COPY TO, SELECT - SQL. С уважением, Алексей Спасибо за подсказку! А как сделать соответствие между значением ComboBox и выполняемым кодом. Что то на подобии CASE: выбрал "первое значение ComboBox" произошло то, выбрал "второе значение ComboBox" произошло то ..... Помогите с этим разобраться, а дальше буду эксперементировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 14:48 |
|
||
|
ComboBox + Grid
|
|||
|---|---|---|---|
|
#18+
Ну если у вас ComboBox имеет 2-5 значений это может годиться, а если их 20 ? А если вы заранее не знаете сколько строк будет в ComboBox?! Проще всего выводить в ComboBox таблицу ( курсор) в которой будет поле, которое будет определять данные выводимые в GRID. Ну например, у вас в ComboBox выводятся категории продуктов, а в GRID надо вывести список продуктов выбранной в ComboBox категории. Тогда: 1. "Привязываете" ComboBox к таблице (курсору) категорий, например ListCateg Код: plaintext 1. 2. 3. 4. Тогда в событии InteractiveChange объекта ComboBox надо написать код, который будет делать выборку из ListProd для выбранной категории. Для этого можно в GRID выводить данные из другого курсора, пусть он называется SelProd: Код: plaintext 1. 2. 3. 4. 5. 6. 7. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 15:30 |
|
||
|
ComboBox + Grid
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное за этот способ!! Но возникли некоторые вопросы в 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. Может есть такой: чтоб на каждое значение можно написать свой код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 17:26 |
|
||
|
ComboBox + Grid
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное за этот способ!! Но возникли некоторые вопросы в 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. Может есть такой: чтоб на каждое значение можно написать свой код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 17:47 |
|
||
|
ComboBox + Grid
|
|||
|---|---|---|---|
|
#18+
авторВышеописаным способом в ComboBox будут содержаться повторяющиеся записи. Вопрос: можно сделать чтоб они не повторялись? Укажите в качестве источника комбо запрос с группировкой по номеру магазина RowSourceType=3 RowSource='SELECT n_mag FROM ListCateg GROUP BY n_mag INTO CURSOR q_mag' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 20:13 |
|
||
|
ComboBox + Grid
|
|||
|---|---|---|---|
|
#18+
Поскольку ты только учишся, то лучше спрашивай как решить задачу, а не как решить задачу тем способом который ты придумал. Простейший вариант смотри во вложении. То, что сделано в Form.Load можно выполнить в DataEnvironment формы. В примере - это просто формирование таблиц-источников и настройка связи между ними. Тогда весь код - это всего 2 строчки в Form.Init и одна строчка в Combo.Valid. Все остальное делается визуальными средствами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 22:10 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34761568&tid=1588838]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 190ms |
| total: | 300ms |

| 0 / 0 |
