Текущий архив: 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.45 MB
Время: 0.029 c