Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Курсор в таблице


Оксана Вл. ©   (2008-07-21 13:21:00) 

Помогите с такой проблемой.
У меня есть таблица СУБД Парадокс, вот данные отображаются в ДБГридЕХ
в таблице к примеру 10 записей вот, к примеру на 6 запись мне нужно установить процент -2 я устанавливаю всё происходит нормально но курсор перемещается сразу на первую запись как сделать чтоб курсор оставался на той записи что я  изменила


Ega23   (2008-07-21 13:37:00) [1]


> Оксана Вл.   (21.07.08 13:28) [4]


О, так вы TTable используете...
Тогда всё намного проще - после Post не переоткрывать.


Оксана Вл.   (2008-07-21 13:32:00) [2]

ой! всё оказалось ещё проще спасибо!


Оксана Вл.   (2008-07-21 13:31:00) [3]

Спассибо Олег всё получилось!


Игорь Шевченко   (2008-07-21 13:31:00) [4]


>  close;
>  open;


это убрать


Ega23   (2008-07-21 13:30:00) [5]

Короче.
1. Запоминаете ID записи, которую редактировали.
2. Обновляете данные в БД
3. Переоткрываете набор данных.
4. Locate к запомненному ID


Оксана Вл.   (2008-07-21 13:28:00) [6]

я не вызываю рефреш

 form1.edit2.Text:= FloatToStr(1-strTofloat('0,0'+form1.edit3.Text));
 s := form1.edit3.Text;
 for i := 1 to length(s) do begin
     if s[i] = ',' then begin
       Delete(s, i, 1);
       Insert('.', s, i);
        form1.edit2.Text := s;
        end;
end;
 form1.datasource3.DataSet:=form1.table3;
with form1.Table3 do
begin
 edit;
 fields[3].Value:=FloatToStr(fields[3].Value*form1.edit2.text);
 fields[5].Value:=FloatToStr(fields[5].Value*form1.edit2.text*0.001*fields[4].val ue);
 post;
 close;
 open;
  end;
   close;


Ega23   (2008-07-21 13:28:00) [7]

var
 SaveID : Variant;
begin
 with DataSet do
 begin
    SaveId := FieldByName('ID').Value;
    ....
    Close
    try
      Open;
      Locate('ID', SaveID, []) ;
    except
       ....
    end;
 end;
end;


Игорь Шевченко   (2008-07-21 13:26:00) [8]


> как сделать чтоб курсор оставался на той записи что я  изменила


Locate использовать ? или не вызывать Refresh


Оксана Вл.   (2008-07-21 13:24:00) [9]

Удалено модератором


brother   (2008-07-21 13:22:00) [10]

Удалено модератором


Наверх

Титульная страница Поиск, карта сайта Написать письмо