Главная страница
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.062 c
6-1152443749
Asail
2006-07-09 15:15
2006.12.03
Трабла с proxy через TIdHTTP (Indy 10)


6-1152557652
VajVajVaj
2006-07-10 22:54
2006.12.03
как отделить аттачмент?


15-1163397237
Cerberus
2006-11-13 08:53
2006.12.03
Сайты с заказами на разработку интернет сайтов.


2-1163112797
image
2006-11-10 01:53
2006.12.03
Как узнать количество потоков работающих в данный момент времени


15-1163389466
Slider007
2006-11-13 06:44
2006.12.03
С днем рождения ! 11 ноября (исправление)