Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Grid

295
09 октября 2002 года
gray_k
356 / / 20.12.1999
Такой вопрос. Надо чтобы при вводе данных в Гриде автоматически происходил поиск в другой таблице и при частичном совпадении поле в гриде автоматически заполнялось найденным заначением. Например, надо ввести фамилию "Петров". Эта фамилия есть в таблице сотрудников. Когда пользователь набирает "Петр", автоматически происходит замена на "Петров".
317
09 октября 2002 года
Relax
573 / / 20.09.2000
обрабатывай OnKeyPress и в нем выполняй поиск и подставляй строку...
293
21 октября 2002 года
SEDEGOFF
586 / / 06.10.2002
Если в DBGride То заполняй там PickList значениями из другой базы и все само подставится
295
22 октября 2002 года
gray_k
356 / / 20.12.1999
Цитата:
Originally posted by SEDEGOFF
Если в DBGride То заполняй там PickList значениями из другой базы и все само подставится


А можно подробнее?

293
22 октября 2002 года
SEDEGOFF
586 / / 06.10.2002
Пусть в Table2 у тебя содержиться данные которые необходимо подставлять
тогда
while(!Table2->Eof)
{
DBGrid1->Columns->Items[0]->PickList->Add(Table2S->AsString);
Table2->Next();
}

Так же есть другой способ - это создание поля справочника если сам не разберешся то могу сделать пример и выслать, вот только у меня Builder 6
295
23 октября 2002 года
gray_k
356 / / 20.12.1999
Цитата:
Originally posted by SEDEGOFF
Пусть в Table2 у тебя содержиться данные которые необходимо подставлять
тогда
while(!Table2->Eof)
{
DBGrid1->Columns->Items[0]->PickList->Add(Table2S->AsString);
Table2->Next();
}

Так же есть другой способ - это создание поля справочника если сам не разберешся то могу сделать пример и выслать, вот только у меня Builder 6


Попробовал сделать через PickList. Есть выпадающий список. Но чтобы в него попасть надо разворачивать мышкой. А хотелось бы чтобы при получении фокуса ввода список выпадал сам или при наборе с клавиатуры автоматически происходил переход на нужную позицию. Сейчас, если не развернуть выпадающий список, никаких подстановок не происходит, можно вбить что угодно, в том числе и то, чего в PickList не добавлял.

358
23 октября 2002 года
moonmike
423 / / 18.10.2002
В общем, изходя из описания идея такая:
Обрабатываешь для Column событие OnKeyPress,
Выдергиваешь то что ты тама написал в ячейке и в справочнике(второй таблице) выполняешь поиск методом FindNearest, то что нашел втыкаешь в ячейку, есть конечно и свои подводные камни в етом решении, но ИМХО это наиболее рельное решение задачи инкрементального поиска. К сожалению щас другим занят потому конкретный пример кода привести не смогу, ету проблему буду решать через недельку, если к тому времени сам найдешь решение то размести его плиз здесь, если не найдешь то я размещу.
Беест регардс!!!
295
23 октября 2002 года
gray_k
356 / / 20.12.1999
Цитата:
Originally posted by moonmike
В общем, изходя из описания идея такая:
Обрабатываешь для Column событие OnKeyPress,
Выдергиваешь то что ты тама написал в ячейке и в справочнике(второй таблице) выполняешь поиск методом FindNearest, то что нашел втыкаешь в ячейку, есть конечно и свои подводные камни в етом решении, но ИМХО это наиболее рельное решение задачи инкрементального поиска. К сожалению щас другим занят потому конкретный пример кода привести не смогу, ету проблему буду решать через недельку, если к тому времени сам найдешь решение то размести его плиз здесь, если не найдешь то я размещу.
Беест регардс!!!


Этот способ к сожалению не подходит :sad: . Во первых очень медленно. Во вторых при замене просходит замена на ближайшее найденное значение. А надо чтобы пользователь видел на чтоо происходит замещение, до того как оно произойдёт. Механизм должен быть примерно такой же как и в Excel. Там он заканчивает строчку другим цветом и если юзер продолжает жать на клавиши, то происходит поиск следующего подходящего значения.
В принципе в PickList это и происходит, только его надо програмно раскрыть, а как я не знаю:sad: .

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог