Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

MultiSelect в TDBGrid   Найти похожие ветки 

 
BBCHa ©   (2006-09-29 00:52) [0]

Друзья подскажите плз как программно выделить несколько записей в TDBGrid???

Заранее спасибо всем неравнодушным:)


 
Fay ©   (2006-09-29 01:12) [1]

 with DBGrid1, DataSource.DataSet do
   begin
     Options := Options + [dgMultiSelect];
     Next;
     SelectedRows.CurrentRowSelected := True;
     Next;
     Next;
     SelectedRows.CurrentRowSelected := True;
     Next;
     Next;
     SelectedRows.CurrentRowSelected := True;
   end;


 
RebroFF   (2006-09-29 13:09) [2]

Я использую неподражаемый EhGrid из библиотеки EhLib.
Для начала нужно выставить

 EhGrid.Options := EhGrid.Options + [dgMultiSelect];
После этого любое выделение сделанное пользователем доступно через свойство TDBGridEh.Selection. Selection.SelectionType указывает на тип выделения:

 case EhGrid.Selection.SelectionType of
   gstNon: ShowMessage("Ничего не выделено");
   gstRecordBookmarks: ShowMessage("Выделено строк: "+IntToStr(EhGrid.Selection.Rows.Count));
   gstRectangle:
     begin
       ADODataSet.Bookmark := EhGrid.Selection.Rect.TopRow;
       S1 := ADODataSet.Fields[0].AsString;
       ADODataSet.Bookmark := EhGrid.Selection.Rect.BottomRow;
       S2 := ADODataSet.Fields[0].AsString;
       ShowMessage(Format("Выделено прямоугольник от закладки %s до закладки %s. От столбца %d до столбца %d",
         [S1,S2,
         EhGrid.Selection.Rect.LeftCol,
         EhGrid.Selection.Rect.RightCol]));
     end;
   gstColumns: ShowMessage("Выделено столбцов:"+IntToStr(EhGrid.Selection.Columns.Count));
   gstAll: ShowMessage("Выделен весь грид!");
 end;//case

Более подробный пример есть в Справке в EhLib.


 
RebroFF   (2006-09-29 13:10) [3]

Я сильно извиняюсь. Не заметил слово "программно".



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.05 c
9-1139377193
Серый
2006-02-08 08:39
2006.12.03
Какой вид боевой системы выбрать


15-1163423248
novill
2006-11-13 16:07
2006.12.03
Ошибка при попытке скачать программу или компонент с Кладовки


2-1163532574
Ruffian
2006-11-14 22:29
2006.12.03
Всё таже работа с файлами...


3-1159508316
Megabyte
2006-09-29 09:38
2006.12.03
Ошибка при работе с драйвером Gemini через ADO


2-1163681705
Kolan
2006-11-16 15:55
2006.12.03
Как проитись по всем полям TDataSet