Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.01.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





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


2-1288704183
LDV
2010-11-02 16:23
2011.01.23
sql запрос выполняется медленнее lookup


3-1250771479
Ламот
2009-08-20 16:31
2011.01.23
select отказывается искать данные в столбце...


2-1288670744
George
2010-11-02 07:05
2011.01.23
Форматирование ввода в TDBEdit


2-1288134132
Германн
2010-10-27 03:02
2011.01.23
Работа с "хранилищем объектов" (Repository)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский