请教怎么把一个grid中的数据都打印出来,谁有源码最好。
解决方案 »
- delphi获取打印机列表
- cxgrid显示的图片怎么导出到excel?
- 用DELPHI编程将图片文件10101.jpg文件保存到demo.dat文件
- 如何修改DBGridEh代码,让Indicator列上显示行号,而不显示三角形标记
- DBGridEh导出导入EXCEL问题探讨
- 求助:如何在TWebBrowser打开的网页里插入标注信息?
- 用TstringGrid(DBGrid1).fixedcols:=3; 现在一点击dbgrid就变形,请问如何解决?
- 一个关于xml文件导入数据库的问题。100分
- dephi新手请教
- 各位在客户处开发程序时,用什么方法保证源程序不外流的?gz者有分
- 关于时时改变控件大小的问题。
- double如何转换为integer
我這樣做過﹐把dbgrid對應得adoquery查詢出的數據傳送給fastreport﹐然后打印出來﹐
打印出來的數據就是dbgrid上顯示的數據﹐其實dbgrid只是一個顯示的外殼而已。不知道你需要的是不是這樣的效果﹐幫你頂先
1.要是单独做报表的话,可以用FastReport等报表控件, 连接Grid(你说的)的dataset 打印输出即可.
2.直接打印表格的内容,可以用表格控件,如ehlib ,DevExpressd]等倥件,建议使用后者,报表的速度不可想象的快!
...
倒出到excel
设置fruserDataSet1.RangeEnd := ReCount;
打印按钮事件
fruserDataSet1.RangeEndCount := Grid1.RowCount - 1;
try
frReport1.Title := showTitle;
frReport1.ShowReport ;
except
MyShowErrMessage('打印时发生错误! ');
end;procedure TFormYearPlan.frReport1GetValue(const ParName: String;
var ParValue: Variant);
var
i : integer;
begin
for i := 0 to Grid1.VisibleColCount - 1 do
if ParName = 'Cell' + intToStr(i) then
begin
try
ParValue := Grid1.Cells[i, fruserDataSet1.RecNo + 1];
break;
except
ParValue := '';
break;
end;
end; if ParName = 'Pages' then
begin
ParValue := PagesTitle;
end;
if ParName = 'Title' then
begin
ParValue := showTitle;
end;
if ParName = 'Company' then
begin
ParValue := g_sPlantName;
end;
end;