关于ehlib报表问题(100分)

  • 主题发起人 主题发起人 sunsusu
  • 开始时间 开始时间
S

sunsusu

Unregistered / Unconfirmed
GUEST, unregistred user!
我在dbgrideh的DrawColumnCell事件中加了如下代码:
if trim(column.Title.Caption)='序号' then
begin
dbgrideh1.canvas.textrect(rect,rect.left,rect.top,inttostr(dbgrideh1.datasource.dataset.recno));
end;

为什么在预览的时候看不到前面的序号???
 
procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect;
DataCol: Integer;
Column: TColumnEh;
State: TGridDrawState);
begin
with DBGrideh1.DataSource.DataSetdo
if DataCol =0 then
//第一列
DBGrideh1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, IntToStr(RecNo));
end;
 
我在button的click事件中
:printdbgrideh.preview中看到的第一列值是空的
我需要在报表中看到.在dbgrideh1中的序号是能看到的
 
可以从数据库着手,用存储过程:
select IDENTITY(int,1,1) AS ID,* into #tmp from yourtable
select * from #tmp
drop table #tmp
 
可我的表里本来就有一个标识列怎么半啊?
 
查询时不取你的表中标识列试试,即
select IDENTITY(int,1,1) AS ID,字段2,字段3,... into #tmp from yourtable
select * from #tmp
drop table #tmp
 
在数据源的onGetData下手才行,ehlib的预览是与数据源有关系的,与grid显示无关
 
原来表的标识我在打印中也要用到!!!!
leaya00能不能具体点啊 ?
 
即使用不到,但是一个表有几十个字段,我总不能一个一个的写吧???
 
后退
顶部