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

Вниз

Разукраска DBGrid а   Найти похожие ветки 

 
Andrushk   (2003-01-31 10:30) [0]

В Grid"е включен MultiSelect, RowSelect=false, выделено несколько строк, как в обработчике перерисовки, узнать какие строки выделены? Через State можно узнать толко ту ячейку, на котой стоишь, а как сделать через TDBGrid(Sender).SelectedRows я никак не соображу.


 
Андрю-ХА!   (2003-01-31 10:50) [1]

Свойство TDBGrid(Sender).SelectedRows.CurrentRowSelected: Boolean

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_INSERT then
with DBGrid1.SelectedRows do
begin
CurrentRowSelected := not CurrentRowSelected;
DataSet1.Next;
end;
end;

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Field = nil then
if DBGrid1.SelectedRows.CurrentRowSelected then
DBGrid1.Canvas.TextOut(Rect.Left + 1, Rect.Top + 1, "+") else
DBGrid1.Canvas.TextOut(Rect.Left + 1, Rect.Top + 1, "-")
end;


 
Андрю-ХА!   (2003-01-31 11:04) [2]

//Андрю-ХА! (31.01.03 10:50)
вдогонку: в моем примере columns"ы добавлены в design-time и добавлен column не связанный ни с каким полем. вот в него-то на OnDraw и выводится знак "+" или "-" ( if Column.Field = nil then)


 
Andrushk   (2003-01-31 11:35) [3]

//Андрю-ХА!
Тезка? :-)

А зачем DBGrid1KeyDown?

Но ведь у Грида есть свой механизм запоминания выделенных записей, им нельзя воспользоваться?


 
Andrushk   (2003-01-31 11:39) [4]

а блин понял
все
СПАСИБО



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
1-53015
SniZ
2003-02-08 16:44
2003.02.17
Строки!


14-53264
Nick_N_A
2003-01-29 06:56
2003.02.17
Частотный анализ звука


1-52899
adolf_99
2003-02-07 15:04
2003.02.17
Помогите


14-53165
Stranger
2003-01-24 15:24
2003.02.17
Не могу установить RX Library 2.75


1-53047
Yelchev
2003-02-06 15:50
2003.02.17
Как добавить пункт меню в сплывающее меню (Popup) Explorera