如何在 dbGrid 上画线?请给的实例。(20分)

  • 主题发起人 主题发起人 nmfx1122
  • 开始时间 开始时间
N

nmfx1122

Unregistered / Unconfirmed
GUEST, unregistred user!
dbgrid 本身已有canvas 属性便我不知怎么用。
 
大家看看,分不够的话可以再加.
 
帮我up的都有分。
 
如何加分?
 
要画怎么样的线?斜线还是直线?
 
用它画一条线。让它在没有数据的情况下都有二十行。
好像用友的入库单据一样的功能。
 
老兄,普通的不知道能不能画出来
但是,dev的控件却是这个效果
 
能说的更说明白点吗?怎么实现?
 
不用做什么,下载个控件就可以用了
 
you can in dbgrid's drawcoulmncell event add the follow code:
dbgrid1.canvas.pen.color:=clblue;
dbgrid1.canvas.moveto(rect.left,rect.bottom);
dbgrid1.canvas.lineto(rect.right,rect.bottom);
dbgrid1.canvas.moveto(rect.right,rect.bottom);
dbgrid1.canvas.moveto(rect.right,rect.top);
 
这个好象不是、他所说的要求吧??
 
procedure TMainForm.dbgSecondDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with dbgSecond.Canvas do
begin
Pen.Color := clBlue;
MoveTo(Rect.Left, Rect.Bottom);
LineTo(Rect.Right, Rect.Bottom);
Pen.Color := clGreen;
MoveTo(Rect.Right, Rect.Top);
LineTo(Rect.Right, Rect.Bottom);
end;
end;
 
用DBGrid 或 dxDBGrid实现在没有数据的情况可以显示有二十条空格。
好像用友的入库单据一样的功能。
to :52free、hwzhang
不知怎么我还没有实现这一功能。但要多谢你们,再请你们看看。


 
结算,呵~~
 
后退
顶部