我用一个ADOQUERY控件得到一定的记录集,然后将一个DATASOURCE控件的DataSet设为该AODQUERY.再将DBGRID的DATASOURCE属性设为这个DATASOUSRCE.
在DBGRID中能将ADOQUERY查询的结果的行数显示出来,但是却显示不出内容,我查了几遍也没查出来.请帮忙.另外,我想知道让DBGRID中的相邻两行在显示时出现不同的底色应该怎么做?麻烦了.
在DBGRID中能将ADOQUERY查询的结果的行数显示出来,但是却显示不出内容,我查了几遍也没查出来.请帮忙.另外,我想知道让DBGRID中的相邻两行在显示时出现不同的底色应该怎么做?麻烦了.
如果编辑了是否定义了相关的field;
select语句是否与每个字段匹配
2、在DBGRID的OnDrawDataCell中写代码罢。procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if DBGrid1.DataSource.DataSet.RecNo mod 2 = 1 then
DBGrid1.Canvas.Font.Color := clRed
else
DBGrid1.Canvas.Font.Color := clGreen;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;
还想请问第二个问题如何解决?即如何让DbGrid每相邻的两行底色显示不同呢?
这个事件我一直不有触发,我只是想在加载数据到DBGRID后,相隔的行都不要有同一种底色.因为我没有用COLLINE
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if ADOQuery1.RecNo mod 2 = 1 then
dbgrid1.Canvas.Brush.Color := clRed ;
else
dbgrid1.Canvas.Brush.Color := clWhite;
dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;