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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2010, 16:01   #1
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию DBGrid (Delphi)

Привет!
Каким образом можно проверить выделение строки в DBGrid-е?
VadEr вне форума Ответить с цитированием
Старый 19.08.2010, 16:12   #2
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

Проверяещь значение DBGrid1.SelectedIndex, если 0 то ничего не выделено
Vikenty вне форума Ответить с цитированием
Старый 19.08.2010, 16:32   #3
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Внимательно читаем help по SelectedIndex...

Specifies the index of the currently selected column in the Columns array.

Delphi syntax:

property SelectedIndex: Integer;

Description

Set SelectedIndex to move focus to a column in the grid that is identified by position. Read SelectedIndex to determine which column in the grid has focus. A value of 0 indicates the first data column, 1 is the second data column, and so on. SelectedIndex is -1 if there is no currently selected column.

VadEr, копай в сторону SelectedRows...

Код:
if DBGrid1.SelectedRows.Count <>0 then //ну и т.д. ...
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 19.08.2010 в 16:40.
Grag вне форума Ответить с цитированием
Старый 19.08.2010, 22:12   #4
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

первый вриант дает индексы колонок, что не подходит,
а
Код:
DBGrid1.SelectedRows.Count
почему-то всегда нулевой??
VadEr вне форума Ответить с цитированием
Старый 20.08.2010, 02:21   #5
GoodDA
фрилансер
Форумчанин
 
Аватар для GoodDA
 
Регистрация: 18.07.2008
Сообщений: 107
По умолчанию

DBGrid1.SelectedRows.Count при выделении нескольких строк работает, я только что проверил, но возможно текущая строка не учитывается.

в настройках грида в options для выбора нескольких строк надо поставить dgMultiSelect

в делфи во встроеном хелпе есть пример

Код:
//The following example copies the selected rows in a db grid to a list box.
procedure TForm1.Button1Click(Sender: TObject);
var
  i, j: Integer;
  s: string;
begin
  if DBGrid1.SelectedRows.Count>0 then
    with DBGrid1.DataSource.DataSet do
      for i:=0 to DBGrid1.SelectedRows.Count-1 do
      begin
        GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
        for j := 0 to FieldCount-1 do
        begin

          if (j>0) then s:=s+', ';
          s:=s+Fields[j].AsString;
        end;
        Listbox1.Items.Add(s);
        s:= '';
      end;
end;
GoodDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение таблицы из dbgrid в файл (oracle, delphi) blr_spy БД в Delphi 8 26.07.2010 13:59
Interbase + Delphi - DBGRID SNUPY БД в Delphi 3 18.01.2010 17:31
DBGrid=Table1+Table2??? (Delphi) VadEr БД в Delphi 3 13.10.2009 13:04
Сохранить DBGrid и Edit в файл (Delphi) Nair Помощь студентам 1 27.09.2008 09:38
DBGRID DELPHI Pang Помощь студентам 2 19.05.2008 11:16