如何手动创建reportbuilder的控件? 一般是直接把控件放到窗体就可以实现了,现在想在代码中动态创建相关的控件,打印预览的界面可以出来了,但报表里的内容怎么也加不进去,特别是数据库的,请高手指点一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm2.btn1Click(Sender: TObject);var ppreport:TppReport; ppdesign:TppDesigner; flag:Integer; reportname:string;begin reportname:=edt1.Text; flag:=0; try DSreport.DataSet.Active:=false; DSreport.DataSet.Active:=true; // ´Ë´¦ÓÃÓڰѱ¨±íÊý¾ÝÔ´Ö¸Õ븴λ,ÒÔ±ãºóÃæ²éÕÒ±¨±í; //´´½¨±¨±í¿Ø¼þ²¢ÉèÖñ¨±í¿Ø¼þÊôÐÔ; ppReport:=TppReport.Create(self); with ppreport do begin AutoStop := False; DataPipeline := ppDBpipeData; //×ÊÁϹܵÀ; Template.DatabaseSettings.DataPipeline := ppDBpipeREport;//±¨±í¹ÜµÀ; Template.DatabaseSettings.NameField := 'item_Name'; //±¨±íÃû³Æ´æ·Å×Ö¶Î; Template.DatabaseSettings.TemplateField := 'Template'; //±¨±í×Ö¶ÎÃû³Æ; Template.DatabaseSettings.Name := reportname; //±¨±íÃû³Æ; Template.SaveTo :=stDatabase; //±¨±í´æ·Å·½Ê½,ÕâÀïÉèÖÃΪÊý¾Ý¿â,Ò²¿ÉÒÔ±£´æΪÎļþ; AllowPrintToArchive := True; //ÔÊÐí±¨±í±£´æΪÎļþ; AllowPrintToFile := True; //ÔÊÐí´òÓ¡µ½Îĵµ; DeviceType := 'Screen' ; OutlineSettings.CreateNode := True ; OutlineSettings.CreatePageNodes := True; OutlineSettings.Enabled := True; OutlineSettings.Visible := False ; TextSearchSettings.DefaultString := '<ÊäÈë²éÕÒµÄÎı¾>' ; TextSearchSettings.Enabled := True ; end; ppdesign:=TppDesigner.Create(self); while not Dsreport.DataSet.Eof do begin //²éÕÒ±¨±íÎļþ; if Dsreport.DataSet.FieldByName('item_Name').AsString=reportname then begin Flag:=1; Break; end; Dsreport.DataSet.Next; end; if Flag=0 then begin if MessageDlg('µ±Ç°±¨±íûÓпÉÓÃÄ£°å£¬ÊÇ·ñ´´½¨?',mtConfirmation, [mbYes, mbNo], 0) <> mrYes then exit; end else begin //Èç¹ûÕÒµ½Á˱¨±í¾Í´ÓÊý¾Ý¿âÖе¼È뱨±í; ppreport.Template.LoadFromDatabase; end; with ppDesign do begin AllowDataSettingsChange := True; Caption := 'ͨÓñ¨±íÉè¼ÆÆ÷'; DataSettings.DatabaseName := 'SCNN1'; DataSettings.SessionType := 'dbExpressSession'; DataSettings.AllowEditSQL := True; DataSettings.CollationType := ctANSI; DataSettings.DatabaseType := dtMSSQLServer; //DataSettings.GuidCollationType := gcMSSQLServer; DataSettings.IsCaseSensitive := True; DataSettings.SQLType := sqSQL1; Position := poScreenCenter ; RAPInterface := [riNotebookTab]; Report := ppReport; end; ppDesign.ShowModal; //ÏÔʾ±¨±íÉè¼ÆÆ÷´°¿Ú; finally ppdesign.Free; //Êͷű¨±íÉè¼ÆÆ÷; ppreport.Free; //Êͷű¨±í¿Ø¼þ; end;end; Delphi里面字符分割函数是什么 如何分割以 , 为分割的字符串?? 系统退出时要关闭ADOConnection吗? DBGridEh难题. 请教Delphi for InstallShield安装时创建MSSQL数据库…… XP下的不能跟踪DLL,请问如何解决 菜鸟请教,高手请进! 关于ehlib3.0的表头排序的问题 高分求一函数,分不够可再加 如何设置另一个进程中的SysListView的items的text 哪里有《离散数学》图论中关于四色填充的源代码(C/C++、Delphi实现)?提供源代码者加高分!!! 新人报到 很简单,可是不会……
var
ppreport:TppReport;
ppdesign:TppDesigner;
flag:Integer;
reportname:string;
begin
reportname:=edt1.Text;
flag:=0;
try
DSreport.DataSet.Active:=false;
DSreport.DataSet.Active:=true; // ´Ë´¦ÓÃÓڰѱ¨±íÊý¾ÝÔ´Ö¸Õ븴λ,ÒÔ±ãºóÃæ²éÕÒ±¨±í;
//´´½¨±¨±í¿Ø¼þ²¢ÉèÖñ¨±í¿Ø¼þÊôÐÔ;
ppReport:=TppReport.Create(self);
with ppreport do
begin
AutoStop := False;
DataPipeline := ppDBpipeData; //×ÊÁϹܵÀ;
Template.DatabaseSettings.DataPipeline := ppDBpipeREport;//±¨±í¹ÜµÀ;
Template.DatabaseSettings.NameField := 'item_Name'; //±¨±íÃû³Æ´æ·Å×Ö¶Î;
Template.DatabaseSettings.TemplateField := 'Template'; //±¨±í×Ö¶ÎÃû³Æ;
Template.DatabaseSettings.Name := reportname; //±¨±íÃû³Æ;
Template.SaveTo :=stDatabase; //±¨±í´æ·Å·½Ê½,ÕâÀïÉèÖÃΪÊý¾Ý¿â,Ò²¿ÉÒÔ±£´æΪÎļþ;
AllowPrintToArchive := True; //ÔÊÐí±¨±í±£´æΪÎļþ;
AllowPrintToFile := True; //ÔÊÐí´òÓ¡µ½Îĵµ;
DeviceType := 'Screen' ;
OutlineSettings.CreateNode := True ;
OutlineSettings.CreatePageNodes := True;
OutlineSettings.Enabled := True;
OutlineSettings.Visible := False ;
TextSearchSettings.DefaultString := '<ÊäÈë²éÕÒµÄÎı¾>' ;
TextSearchSettings.Enabled := True ;
end;
ppdesign:=TppDesigner.Create(self);
while not Dsreport.DataSet.Eof do
begin
//²éÕÒ±¨±íÎļþ;
if Dsreport.DataSet.FieldByName('item_Name').AsString=reportname then
begin
Flag:=1;
Break;
end;
Dsreport.DataSet.Next;
end;
if Flag=0 then
begin
if MessageDlg('µ±Ç°±¨±íûÓпÉÓÃÄ£°å£¬ÊÇ·ñ´´½¨?',mtConfirmation, [mbYes, mbNo], 0) <> mrYes then
exit;
end
else
begin
//Èç¹ûÕÒµ½Á˱¨±í¾Í´ÓÊý¾Ý¿âÖе¼È뱨±í;
ppreport.Template.LoadFromDatabase;
end;
with ppDesign do
begin
AllowDataSettingsChange := True;
Caption := 'ͨÓñ¨±íÉè¼ÆÆ÷';
DataSettings.DatabaseName := 'SCNN1';
DataSettings.SessionType := 'dbExpressSession';
DataSettings.AllowEditSQL := True;
DataSettings.CollationType := ctANSI;
DataSettings.DatabaseType := dtMSSQLServer;
//DataSettings.GuidCollationType := gcMSSQLServer;
DataSettings.IsCaseSensitive := True;
DataSettings.SQLType := sqSQL1;
Position := poScreenCenter ;
RAPInterface := [riNotebookTab];
Report := ppReport;
end;
ppDesign.ShowModal; //ÏÔʾ±¨±íÉè¼ÆÆ÷´°¿Ú;
finally
ppdesign.Free; //Êͷű¨±íÉè¼ÆÆ÷;
ppreport.Free; //Êͷű¨±í¿Ø¼þ;
end;end;