Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.23;
Скачать: CL | DM;

Вниз

LookUpField.....   Найти похожие ветки 

 
DROWSY   (2010-10-27 05:56) [0]

FB1.5, IBX, DBGridEh
Таблица А редактируется в гриде.
Она связана с табл. В внешним ключом.
И :
1) для каждой записи таблицы А, таблица В должна фильтроваться.
2) поле в А может не иметь значения (Null).

Можно в этом случае сделать редактирование связанного поля визуально, как в обычном
случае (через LookUpField и выпадающий список) или без отдельной формы ввода не обойтись?


 
DROWSY   (2010-10-29 13:03) [1]

Какое событие происходит перед открытием выпадающего списка ячейки грида?


 
Sergey13 ©   (2010-10-29 14:48) [2]

> [0] DROWSY   (27.10.10 05:56)
> Она связана с табл. В внешним ключом.

В какую сторону?

> ) для каждой записи таблицы А, таблица В должна фильтроваться.

Зачем?


 
DROWSY   (2010-10-29 15:11) [3]

В таблице А поля:
Фирма,
Код товара в таблице В.

В таблице В
Код товара,
наименование,
...... другие поля описания.

табл. А в гриде.
Если выбрали в одной ячейке "фирму", надо заполнить выпадающий список  ячейки "товар" наименованиями товаров именно этой фирмы (плюс "все" для значения null, т.е. "все товары этой фирмы").


 
DROWSY   (2010-10-29 15:14) [4]

Сорри,
В таблице В ещё, конечно, поле "фирма", по которой нужно фильтровать.


 
Sergey13 ©   (2010-10-29 15:47) [5]

> [3] DROWSY   (29.10.10 15:11)
> [4] DROWSY   (29.10.10 15:14)

Запутался еще больше. Что за фирма в обеих таблицах и почему по ней фильтровать надо?


 
DROWSY   (2010-10-29 16:06) [6]

Таблица "Фирма" (F)
1) код фирмы
2)название фирмы.

Таблица "Оборудование" (В)
1)код оборудования
2)код фирмы из таблицы F
3)маркировка(название) оборудования.
4)....другие описательные поля

Таблица "Расчёт оборудования" (А)

1)код
2)код фирмы из таблицы F
3)код оборудования из таблицы В
4)....другие  поля

Табл. А редактируется в гриде .
грид:
1) Название фирмы (выбирается название фирмы по коду из F)
2) Маркировка (выбирается маркировка оборудования по коду из В)

Если с фирмой всё понятно, то маркировку надо выбирать из отфильтрованной по коду фирмы таблицы В.


 
DROWSY   (2010-10-29 16:16) [7]

как я понял,
Есть 2 способа сделать в гриде выпадающий список:
1) Lookup поле. Можно поставить фильтр на Lookup dataset, но тогда часть значений в гриде пропадут.
2) Заполнить KeyList, PickList свойства колонки. Изменив эти списки, мы
тоже заставим исчезнуть часть значений.

и в этом проблема.


 
Sergey13 ©   (2010-10-29 16:44) [8]

> [6] DROWSY   (29.10.10 16:06)

А зачем "код фирмы из таблицы F" в таблице "Расчёт оборудования" (А)? Он там лишний. Там же есть "код оборудования из таблицы В" в котором уже есть "код фирмы".
Про нормализацию данных почитай.


 
DROWSY   (2010-10-29 17:03) [9]

почитаю.
но, есть этот код или нет - проблема [7] останется, правда ведь?


 
stas ©   (2010-10-29 17:08) [10]

DROWSY   (29.10.10 16:16) [7]
Если я прравильно понял Вам нужно заюзать ListSource в гриде, к нему подключается запрос который будет для выбора (и который фильтруется), а для отображения подключаете еще один запрос,который содержит полный набор данных.


 
stas ©   (2010-10-29 17:11) [11]

т.е. на lookup поле в dataset вы подключаете dataset незафильтрованный, а в свойство ListSource колонки грида подключаете тот DataSet, который фильтруется. Таким образом для выбора вам будет список зафильтрованный, а для отображения полный.


 
DROWSY   (2010-10-29 17:15) [12]

подключать запрос для выбора(который фильтруется), надо перед выпадением списка, да?!.  а какое событие вызывается открытием списка?


 
DROWSY   (2010-10-29 17:17) [13]


> stas ©   (29.10.10 17:11) [11]

спасибо, попробую.


 
DROWSY   (2010-10-29 17:49) [14]


> а в свойство ListSource колонки грида

что-то не нашёл я такого свойства.


 
DROWSY   (2010-11-02 15:00) [15]

Дайте, хоть какую идею, зашиваюсь...


 
Sergey13 ©   (2010-11-02 15:34) [16]

> [15] DROWSY   (02.11.10 15:00)

Тебе дают идеи, но ты их не используешь.
Если не получается сделать без программирования - попробуй сделать с программированием. Сделай редактирование на отдельной форме, без лукапов, с запросом.
За 4 дня можно программу написать, а ты с одной формой не можешь (потому что не хочешь) разобраться.


 
Anatoly Podgoretsky ©   (2010-11-02 15:41) [17]

> Sergey13  (02.11.2010 15:34:16)  [16]

Ты неправ, хочет, но не может.


 
DROWSY   (2010-11-02 15:46) [18]

на отдельной форме вариант есть - он не устраивает шефа( и это,правда, неудобно ).
надо в гриде, с вываливающимися списками.

идеи каких постов надо реализовывать?

> stas ©   (29.10.10 17:08) [10]


> stas ©   (29.10.10 17:11) [11]

эти?


 
DROWSY   (2010-11-02 15:46) [19]


> Anatoly Podgoretsky ©   (02.11.10 15:41) [17]

да


 
Anatoly Podgoretsky ©   (2010-11-02 15:48) [20]

> DROWSY  (02.11.2010 15:46:18)  [18]

Мучайся.


 
DROWSY   (2010-11-02 15:50) [21]


> Anatoly Podgoretsky ©   (02.11.10 15:48) [20]

спасибо.
а Вам - не хворать!


 
Anatoly Podgoretsky ©   (2010-11-02 15:54) [22]

> DROWSY  (02.11.2010 15:50:21)  [21]

А ты подумай!


 
Anatoly Podgoretsky ©   (2010-11-02 15:55) [23]

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



Страницы: 1 вся ветка

Текущий архив: 2011.01.23;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.01 c
2-1288978653
Aleks
2010-11-05 20:37
2011.01.23
Delphi и сканер штрих-кода


15-1286210774
fen1ks
2010-10-04 20:46
2011.01.23
построение параболы по 3 точкам


2-1288890745
Alik
2010-11-04 20:12
2011.01.23
Проблема с WriteFile ReadFile


15-1286604563
TUser
2010-10-09 10:09
2011.01.23
Антигедонистическое


15-1286483351
Юрий
2010-10-08 00:29
2011.01.23
С днем рождения ! 8 октября 2010 пятница