Показать сообщение отдельно
  #3  
Старый 05.12.2015, 16:31
Konstantin-78 Konstantin-78 вне форума
Новичок
 
Регистрация: 27.04.2015
Сообщения: 76
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

О, как раз то, что нужно.
Только, чтоб курсор в DBEdit, сразу после присвоения DBEdit значения из списка, не "уходил" в конец строки, а оставался на той позиции, на которой он стоял до вставки,
нужно:

var
Код:
  LPos: integer;
begin
  if (ibdsGovEtalon.State in [dsInsert, dsEdit]) then
  begin
    LPos := length(DBEdit1.Text);
    DBLookupComboBox1.ListSource.DataSet.Locate(DBLookupComboBox1.KeyField, DBEdit1.Text,[loPartialKey]);
    DBLookupComboBox1.KeyValue := DBLookupComboBox1.ListSource.DataSet.FieldByName(DBLookupComboBox1.KeyField).Value;
    if DBLookupComboBox1.KeyValue = DBEdit1.Text then
    begin
      DBEdit1.SetFocus;
      DBEdit1.SelStart := LPos;
      DBEdit1.SelLength := 0;
    end;
  end;
Ответить с цитированием