Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Процедура DBGrid1KeyDown отсутствие значения, Убрать ошибку возникающих значения NULL 
V
    Опции темы
SergSD29
Дата 7.12.2010, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.12.2010

Репутация: нет
Всего: нет



Добрый день участники форума, у меня возникла проблема при построении программы с процедурой  (procedure TForm1.DBGrid1KeyDown (Sender: TObject; var Key: Word;
  Shift: TShiftState);),  то есть когда я соединил  свою (*.db) с Table1 а потом с DBgrid1 был создан просмотр (*.db)  который необходимо было листать (просматривать) и выводить каждое новое активное значения строки в Edit,  для этого я ввёл procedure TForm1.DBGrid1KeyDown собственно которая позволяет листать мне Table нажатием клавиши вниз, но при листании и попадание на последнею запись Таблице в DBGrid1 и нажатии ещё 1-го раза вниз вылетает ошибка отсутствия значения null.
Вот код:
Код

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
Edit3.Text:=(Table1.FieldByName('F.I.O.').AsString);
Edit4.Text:=(Table1.FieldByName('Data_Zaselenia').AsString);
Edit5.Text:=(Table1.FieldByName('Data_Otezda').AsString);
Edit6.Text:=IntToStr(Table1.FieldByName('Nomer').AsInteger);
Edit7.Text:=(Table1.FieldByName('Status').AsString);
Edit8.Text:=IntToStr(Table1.FieldByName('Oplata').AsInteger);
end;

Как можно сделать так чтобы ошибки не было или таблица возвращалась вверх, что угодно но чтобы не было  ошибки.
Заранее Благодарен.


Это сообщение отредактировал(а) SergSD29 - 7.12.2010, 12:19
PM MAIL   Вверх
SPrograMMer
Дата 7.12.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Спамер :)
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 5.11.2004
Где: Краснодар

Репутация: 1
Всего: 6



1. Используйте вместо TEdit компоненты TDBEdit => пропадет тот код который вы написали

Цитата(SergSD29 @  7.12.2010,  11:36 Найти цитируемый пост)
собственно которая позволяет листать мне Table нажатием клавиши вниз

эээ.... а разве так не происходит без какого-либо дополнительного программирвоания в DBGrid?

2. Ну или если уж сильно надо, то подобная реализация могла бы быть следующая:
Код

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case key of
     38:   /// вверх
           if Not DataSet.Bof Then DataSet.Prior;
     40:   /// вниз
           if Not DataSet.Eof Then DataSet.Next;
  end;
end;


Это сообщение отредактировал(а) SPrograMMer - 7.12.2010, 12:56


--------------------
животное = зверь
законченный гентушник
PM MAIL ICQ Jabber   Вверх
SergSD29
  Дата 7.12.2010, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.12.2010

Репутация: нет
Всего: нет



DBEdit не помогает а с DataSet я мало знаком может другой метод

http://s1.ipicture.ru/Gallery/Viewfull/2498868.html

PM MAIL   Вверх
superVad
Дата 7.12.2010, 14:30 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



SergSD29, TDBEdit по другому работает - ему не надо никаких значений присваивать - просто настроить на нужные поля в ДатаСорсе, так же как грид.
Можно еще гриду - ридонли в тру поставить, тогда он по идее не будет новую строчку создавать внизу.

Это сообщение отредактировал(а) superVad - 7.12.2010, 14:30
PM MAIL   Вверх
SergSD29
  Дата 7.12.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.12.2010

Репутация: нет
Всего: нет



СПАСИБО superVad помогло  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1079 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.