Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2011, 20:20   #1
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию DBGrid фокус на первую строчку

Добрый вечер форумчани!!
помогите решить проблему, раньше такого не было!!
Я умножаю два столбца Цену и Количество. И на DBGrid'е постоянно фокус фокусируется на последней записи!!
Вот код:
Код:
begin
//frmConnection.qOnWarehouse.Active:=false;
frmConnection.qOnWarehouse.Close;
        frmConnection.qOnWarehouse.SQL.Clear;
        frmConnection.qOnWarehouse.SQL.Add('Select Amount, Price, SumPrice');
        frmConnection.qOnWarehouse.SQL.Add('from OnWarehouse');
        //frmConnection.qOnWarehouse.Active:=true;
        frmConnection.qOnWarehouse.Open;
summaOnWarehouse:=0;
     begin
     frmConnection.qOnWarehouse.First;
        for i := 1 to frmConnection.qOnWarehouse.RecordCount do
           begin      summaOnWarehouse:=frmConnection.qOnWarehouse.FieldByName('Price').AsCurrency * frmConnection.qOnWarehouse.FieldByName('Amount').AsInteger;
                frmConnection.qOnWarehouse.Edit;
       frmConnection.qOnWarehouse.FieldByName('SumPrice').AsCurrency:=summaOnWarehouse;
                frmConnection.qOnWarehouse.Post;
                frmConnection.qOnWarehouse.Next;
                frmConnection.dsOnWarehouse.DataSet.Refresh;
           end;
     end;
end;
Побывал на OnActive и OnCreate постоянно одно и тоже!!! Вот и решил программно фокус поставить на первую запись через (first) и тоже ни как.Помогите пожалуйста!!
Blood_ghosT вне форума Ответить с цитированием
Старый 05.08.2011, 20:28   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так, очевидно, Вы же меняете позицию в связанном датасете qOnWarehouse

в конце процедуры перед выходом банально поставьте
frmConnection.qOnWarehouse.First;
и всё...


p.s. И СОВЕРШЕННО непонятно, зачем в цикле на клиенте вычислять то, что может быть банально вычислено в запросе!!!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.08.2011, 20:38   #3
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так, очевидно, Вы же меняете позицию в связанном датасете qOnWarehouse
Фишка в том что раньше этот же код и я использовал и все было в шоколаде, правда я на делфи 2007 писал код гира.А ща 2010 Embarcodera. А через запрос это count который или как объясните пожалуйста!!
Blood_ghosT вне форума Ответить с цитированием
Старый 05.08.2011, 20:55   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
frmConnection.qOnWarehouse.SQL.Add('Select Amount, Price, SumPrice, Amount* Price "Умноженное"');
Вот что имел ввиду Серж.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.08.2011, 21:14   #5
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

Спасибо за помощь!!
И я КЭП
Blood_ghosT вне форума Ответить с цитированием
Старый 06.08.2011, 19:36   #6
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

frmConnection.qOnWarehouse.SQL.Add( 'Select Amount, Price, SumPrice, Amount* Price AS "Умноженное"');
Blood_ghosT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фокус на заданной строке в DBGrid Zver БД в Delphi 6 08.11.2014 12:51
Переход по букве на нужную строчку в DBGrid Aleksandr БД в Delphi 6 19.08.2009 14:41
DBGrid - фокус ввода Olg@ БД в Delphi 8 22.06.2009 13:40
Обновление данных в DBGrid и фокус строки. Serval БД в Delphi 10 05.06.2009 11:50
DBLookupComboBox на первую строчку Inbox БД в Delphi 7 29.10.2007 13:26