jserrg
Дата: 17.05.2011 20:08:34
Есть главная таблица, которая показывается в гриде. В ней есть поле "Место" varchar(30).
Хотелось бы, чтобы юзеры вбивали данные прямо в грид без всяких дополнительных формочек.
И хотелось бы, чтобы при вводе данных в это поле, юзеру давалась подсказка на основе уже существующих данных в этом же поле в этой же таблице (как в Ексель). Т.е. напечатал юзер букву "б" - поле уже автоматом дозаполнилось: "Бровары".
Через стандартное лукап поле все работало.
Когда у меня это поле "Место" было цифровым и хранило МестоАйДи и при этом была отдельная табличка содержащая МестоАйДи, МестоНазвание и т.д., то все работало здорово. Было два датасета. Лукапное поле в главном датасете, которое имело LookupDataSet, LookupKeyFields, LookupResultField и KeyFields, которые смотрели на второй датасет. В GridEh в лукапной колонке рисовался комбобокс, и юзер мог хоть по комбобоксу кликнуть и выбрать, хоть впечатывать по букве и выскакивала подсказка. Если юзер вбивал новое значение, то оно добавлялось через событие NotInList.
Теперь:
Создал в главной таблице поле место как varchar(30). Перенес туда данные сиквелом.
Сделал отдельный DataSet qPlacesNew: select distinct "место" from "главная таблица".
Пытаюсь прописать этот новый датасет как лукапный для главной таблицы.
Сделал лукапное поле указал в нем
LookupDataSet = qPlacesNew
LookupKeyFields = "Место" (из лукапного датасета)
LookupResultField = "Место" (из лукапного датасета)
KeyField = "Место" (из главного датасета)
Не работает. Выводит пустую колонку
У кого-нибудь такое работало?
jserrg
Дата: 17.05.2011 22:07:14
Отдельная форма - не удобно.
Грид маленький, данных немного - все помещается на одном экране. Зачем еще формы открывать?
Там цифорки еще юзер всякие вводит. Ему сразу в том же гриде тоталы/сабтоталы считаются.
На одной форме сразу видна вся картина.
Взлетающие формочки - они только отвлекают. А юзер, ты ж понимаешь, отвлек его раз - и он уже забыл, какую цифру вводил.
Да, можно это все оставить и на стандартных лукапах, когда лукап хранится в отдельном справочнике. И все отлично работает. Юзер вбивает в грид - поле автозаполняется.
Просто хотелось избавиться от справочника. И все держать в одной таблице.
Опять же: таблица небольшая - 10,000. Так что на производительности никак не скажется если АйДи поменять на varchar.