Ну и где впихивать сюда Label1, чтоб увидеть количество строк закрашенных?
Вот кусочек кода по которому строки в гриде красятца:
Код:
procedure Tfrm_Main.DBGrid15DrawDataCell(Sender: TObject;
const Rect: TRect; Field: TField; State: TGridDrawState);
var
i:integer;
begin
if Length(aa)>0 then
begin
i:=DBGrid15.DataSource.DataSet.RecNo;
if DBGrid15.DataSource.DataSet.RecNo = aa[i-1].zap3 then
begin
dbgrid15.Canvas.Brush.Color := cllime;
DBGrid15.Canvas.Font.Color := clRed;
dbGrid15.DefaultDrawDataCell(Rect,Field,State);
end;
end;
end;
procedure Tfrm_Main.SpeedButton21Click(Sender: TObject);
var
i1, i2, p1, p2 : integer;
begin
SetLength(aa, 0);
DBGrid16.DataSource.DataSet.Last;
DBGrid16.DataSource.DataSet.First;
SetLength(bb, 0);
DBGrid15.DataSource.DataSet.Last;
DBGrid15.DataSource.DataSet.First;
DBGrid15.DataSource.DataSet.First;
DBGrid16.DataSource.DataSet.First;
p1 := DBGrid15.DataSource.DataSet.RecordCount-1 ;
p2 := DBGrid16.DataSource.DataSet.RecordCount-1 ;
//******************
DBGrid15.DataSource.DataSet.DisableControls;
try
for i1:=0 to p1 do
begin
SetLength(aa, Length(aa) + 1);
aa[i1].zap1:= DBGrid15.DataSource.DataSet.RecNo;
aa[i1].zap2:= DBGrid15.DataSource.DataSet.FieldValues['ACTION_CODE'];
DBGrid15.DataSource.DataSet.Next;
end;
finally
DBGrid15.DataSource.DataSet.EnableControls;
end;
DBGrid16.DataSource.DataSet.DisableControls;
try
for i2:=0 to p2 do
begin
SetLength(bb, Length(bb) + 1);
bb[i2].zap1:= DBGrid16.DataSource.DataSet.RecNo;
bb[i2].zap2:= DBGrid16.DataSource.DataSet.FieldValues['ACTION_CODE'];
DBGrid16.DataSource.DataSet.Next;
end;
finally
DBGrid16.DataSource.DataSet.EnableControls;
end;
for i1:=0 to Length(aa)-1 do
begin
aa[i1].zap3 := findAA(i1);
end;
for i2:=0 to Length(bb)-1 do
begin
bb[i2].zap3 := findBB(i2);
end;
DBGrid15.DataSource.DataSet.First;
DBGrid16.DataSource.DataSet.First;
end;
Aristarh Dark: Тэги, тэги и еще раз тэги.
Первое предупреждение, читай правила.
Ну так и вопрос: узнать сколько строк в гриде закрашено?
Чего не понятно?!
Grid не мульти.