一个关于DevExpress ExpressPrinting System Suite 的问题,
一个关于DevExpress ExpressPrinting System Suite 的问题,
代码如下,已经用ADOCOONETION连上数据库,并且在AOOQUERY中写好SQL语句
DATASOURCE指向ADOQUERY,并且在DXDBGRId指向DATASOURCE,
代码如下,但是按下按钮,打印预览出不来,硬盘转几下后没反应,请问如何解决.
unit dy;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev,
StdCtrls, Buttons, dxPSCore, dxPSdxTLLnk, dxPSdxDBCtrlLnk, dxPSdxDBGrLnk,
dxTL, dxDBCtrl, dxDBGrid, DB, ADODB, dxCntner;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ado_q: TADOQuery;
DataSource1: TDataSource;
Button1: TButton;
dx1: TdxDBGrid;
pr1: TdxComponentPrinter;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
s,i:integer;
begin
ado_q.Active:=true;
s:=ado_q.FieldCount;
for i:=0 to s-1 do begin
with dx1.CreateColumn(tdxdbgridcolumn) as tdxdbgridcolumn do begin
index:=i;
caption:='ewq';
fieldname:=ado_q.FieldDefList[i].Name;
end;
end;
dx1.KeyField:=ado_q.FieldDefList[0].Name;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
// a:integer
link1:tdxdbgridreportlink;
begin
link1:=tdxdbgridreportlink.create(nil);
link1.Component:=dx1;
link1.Active:=true;
pr1.CurrentLink:=link1;
//link1.Active:=true;
pr1.Preview(true,nil);
end;
end.