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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2010, 15:46   #1
m0dE^
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 48
Подмигивание Вопрос по DBGrid

Здравствуйте! Сразу прошу прощение, если вопрос очень глупый, но у меня имеется DBGrid со свойством dgRowSelect равным TRUE. Как мне узнать номер выделенной строки? (Ну так, как с ListBox1.ItemIndex)

Спасибо!
http://fmbot.ru - ICQ-боты, ICQ-чаты, HTML редакторы, статьи и исходники по Delphi
m0dE^ вне форума Ответить с цитированием
Старый 03.07.2010, 16:33   #2
Антон Ю.Б.
Форумчанин
 
Регистрация: 03.01.2009
Сообщений: 116
По умолчанию

dgRowSelect - это просто тип подсветки текущей строки (и отмена редактирования полей в ней). Сам вопрос номера строки в DBGrid - он немного странный. Важна обычно идентификация записи отображаемого набора данных, а не номер строки, в которой она отображается.

Работа с выделением строк как таковым (мышкой по кнопке слева от записи) - это немного иное:
dgMultiSelect-разрешение множественного выделения.
DBGrid1.SelectedRows.Count - число выделенных строк
Перемещение в датасете по записям, соответствующим выделенным строкам в гриде:
Код:
for i := 0 to Grid.SelectedRows.Count - 1 do
Grid.DataSource.DataSet.GotoBookmark(pointer(Grid.SelectedRows.Items[i]));
Антон Ю.Б. вне форума Ответить с цитированием
Старый 03.07.2010, 16:46   #3
m0dE^
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 48
По умолчанию

Мне нужен номер строки, чтобы присвоить его какой-то переменной, произвести нужные мне действия (при этом содержимое DBGrid обновится), а после действий все вернуть как и было..

Всем спасибо! Сделал следующим образом:

Код:
...
var n: integer;
begin
     n:=ADOQuery1.RecNo;
end;
...
http://fmbot.ru - ICQ-боты, ICQ-чаты, HTML редакторы, статьи и исходники по Delphi

Последний раз редактировалось artemavd; 04.07.2010 в 06:47.
m0dE^ вне форума Ответить с цитированием
Старый 03.07.2010, 23:06   #4
Антон Ю.Б.
Форумчанин
 
Регистрация: 03.01.2009
Сообщений: 116
По умолчанию

m0dE^, при обновлении набора данных номер записи в наборе может поплыть. Так что правильней запоминать значение ключа и после операций использовать метод Locate.
Антон Ю.Б. вне форума Ответить с цитированием
Старый 04.07.2010, 00:29   #5
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

еще можно воспользоваться механизмом букмарков (закладок)
soleil@mmc вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по DbGrid Evgenii БД в Delphi 2 18.05.2009 23:04
dbgrid вопрос xaero93 Помощь студентам 1 22.03.2009 20:21
Вопрос про DBGrid ? juan666777 БД в Delphi 1 30.01.2009 21:14
Вопрос про DBGrid AD_min БД в Delphi 3 29.11.2008 16:44
Вопрос по DBGrid Cyn4uk БД в Delphi 12 26.12.2007 09:59