Grid
Если в DBGride То заполняй там PickList значениями из другой базы и все само подставится
А можно подробнее?
тогда
while(!Table2->Eof)
{
DBGrid1->Columns->Items[0]->PickList->Add(Table2S->AsString);
Table2->Next();
}
Так же есть другой способ - это создание поля справочника если сам не разберешся то могу сделать пример и выслать, вот только у меня Builder 6
Пусть в Table2 у тебя содержиться данные которые необходимо подставлять
тогда
while(!Table2->Eof)
{
DBGrid1->Columns->Items[0]->PickList->Add(Table2S->AsString);
Table2->Next();
}
Так же есть другой способ - это создание поля справочника если сам не разберешся то могу сделать пример и выслать, вот только у меня Builder 6
Попробовал сделать через PickList. Есть выпадающий список. Но чтобы в него попасть надо разворачивать мышкой. А хотелось бы чтобы при получении фокуса ввода список выпадал сам или при наборе с клавиатуры автоматически происходил переход на нужную позицию. Сейчас, если не развернуть выпадающий список, никаких подстановок не происходит, можно вбить что угодно, в том числе и то, чего в PickList не добавлял.
Обрабатываешь для Column событие OnKeyPress,
Выдергиваешь то что ты тама написал в ячейке и в справочнике(второй таблице) выполняешь поиск методом FindNearest, то что нашел втыкаешь в ячейку, есть конечно и свои подводные камни в етом решении, но ИМХО это наиболее рельное решение задачи инкрементального поиска. К сожалению щас другим занят потому конкретный пример кода привести не смогу, ету проблему буду решать через недельку, если к тому времени сам найдешь решение то размести его плиз здесь, если не найдешь то я размещу.
Беест регардс!!!
В общем, изходя из описания идея такая:
Обрабатываешь для Column событие OnKeyPress,
Выдергиваешь то что ты тама написал в ячейке и в справочнике(второй таблице) выполняешь поиск методом FindNearest, то что нашел втыкаешь в ячейку, есть конечно и свои подводные камни в етом решении, но ИМХО это наиболее рельное решение задачи инкрементального поиска. К сожалению щас другим занят потому конкретный пример кода привести не смогу, ету проблему буду решать через недельку, если к тому времени сам найдешь решение то размести его плиз здесь, если не найдешь то я размещу.
Беест регардс!!!
Этот способ к сожалению не подходит :sad: . Во первых очень медленно. Во вторых при замене просходит замена на ближайшее найденное значение. А надо чтобы пользователь видел на чтоо происходит замещение, до того как оно произойдёт. Механизм должен быть примерно такой же как и в Excel. Там он заканчивает строчку другим цветом и если юзер продолжает жать на клавиши, то происходит поиск следующего подходящего значения.
В принципе в PickList это и происходит, только его надо програмно раскрыть, а как я не знаю:sad: .