如何让网格线充满整个DBGRID 我有一个dbgrid连接的数据源只有几条数据.这样dbgrid下面的空间就是一片空白,我想将网格线充满整个DBGRID,没有数据的地方也画上网格线.不知道这样能不能实现,请高手帮帮忙,谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在Align中选择alClient应该就可以了 我的意思是将没有记录的空间都补上网格线,实现的效果如dbgrid可以显示10条记录,而query中只有3条记录,则还有7条空记录在后面.使dbgrid充满网格线 建议使用TMS控件DBAdvGrid来显示,连了数据库还可以设置RowCount 我想通过重画DBGRID来实现,这样难吗? 不难,继承DBGRID再自己写过。具体代码就看DBGRID就可以做到了... 可以把DBGRID重画,应该不难。重画的事件是:onDrawColumnCell 需要重载DBGrid的方法Paint,在Vcl\Source下有源代码可以参考一下. 如果想用DBGRID,那不能做到楼主要求的效果。如果要楼主要求的效果,可以用STRINGGRID,但数据处理的代码要自己手动写。如果要两全其美,那用EXCEL吧。 我在onDrawColumnCell里用Tstringgrid(dbgrid1).rowcount:=10000 可以把网格补上.不过增加记录时就出错 另一种办法是写一个继承自TDBGrid的简单表格,重载Paint方法. 告诉你一个绝对有用的方法:使用ehlib组件,设计一个合计字段,然后再隐藏该字段即可实现你所说的功能 uses Math; //use Max();procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin TStringGrid(Sender).RowCount := Max(TStringGrid(Sender).RowCount, TStringGrid(Sender).Height div TStringGrid(Sender).DefaultRowHeight - 2);end; cxgrid控件到哪里下载 sendmessage????? 这种XP风格的界面在Delphi中怎么实现阿? 报表(excel)中每页都要有当前页的数量,金额的合计的问题,急!急!急!!!! 动态生成控件,很急啊!大家救命! 调用程序 谁可以给我讲讲如何用Delphi做出传奇那样的好东西! 怎样对图像的颜色进行调节,如反白,图像的颜色对比之类 Bookmark做什么用的,有什么功能?在线等侍! 报表- 怎么打印当前纪录? 怎么样判断鼠标是否点击了这个控件? TIdTCPClient的timeout问题
重画的事件是:onDrawColumnCell
如果要楼主要求的效果,可以用STRINGGRID,但数据处理的代码要自己手动写。
如果要两全其美,那用EXCEL吧。
Tstringgrid(dbgrid1).rowcount:=10000 可以把网格补上.不过增加记录时就出错
使用ehlib组件,设计一个合计字段,然后再隐藏该字段即可实现你所说的功能
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
TStringGrid(Sender).RowCount := Max(TStringGrid(Sender).RowCount,
TStringGrid(Sender).Height div TStringGrid(Sender).DefaultRowHeight - 2);
end;