如何為最終用戶刪除“數據”選項卡?
將“ EnvironmentSettings”控件添加到您的窗體。
然后在調用report.Design()之前添加以下行:
EnvironmentSettings1.DesignerSettings.Restrictions.DontCreateData = True; EnvironmentSettings1.DesignerSettings.Restrictions.DontEditData = True;
如果使用DesignerControl,則應使用以下命令:
designerControl1.Restrictions.DontCreateData = true; designerControl1.Restrictions.DontEditData = true;
這樣,數據控件將被禁用。
如何在WPF應用程序中使用FastReport.Net控件?
您應該為此使用WindowsFormsHost控件:
0)在FastReport.dll上添加引用;
1)如果要使用PreviewControl,則將屬性添加到Window(Page)標記中:xmlns:fr =“ clr-namespace:FastReport.Preview; assembly = FastReport”,xmlns:fr1 =“ clr-namespace:FastReport.Design; assembly = FastReport”-if DesignerControl;
2)將WindowsFormsHost標記添加到您的XAML標記中:
<WindowsFormsHost HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="0" Grid.ColumnSpan="3"> </WindowsFormsHost>
3)將子級添加到WindowsFormsHost中:<fr:PreviewControl> </ fr:PreviewControl>或<fr1:Designer> </ fr1:Designer>。
完整的標記應如下所示:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" x:Class="WpfApplication1.MainWindow" Title="MainWindow" Height="375.977" Width="939.258" xmlns:fr="clr-namespace:FastReport.Preview;assembly=FastReport"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <WindowsFormsHost HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="0" Grid.ColumnSpan="3"> <fr:PreviewControl></fr:PreviewControl> </WindowsFormsHost> </Grid> </Window>
如何以編程方式設置Format的值?
您可以使用以下代碼在腳本或項目中執行此操作:
FastReport.Format.NumberFormat format = new FastReport.Format.NumberFormat(); format.UseLocale = false; format.DecimalDigits = 2; format.DecimalSeparator = "."; format.GroupSeparator = ",";
然后:
textObject.Formats.Clear(); textObject.Formats.Add(format);
如何在MSChartObject中創建帶有間隙的行?
您應該創建基本的System.Windows.Forms.DataVisualization.Charting.Series對象,并在此處創建行。之后,應為MSChartObject基本圖表分配創建的系列(MSChart1.Chart.Series.Add(series);)不要忘記在“報表”->“腳本”菜單和命名空間System.Windows.Forms中添加 System.Windows.Forms.DataVisualization.dll。 .DataVisualization.Charting。
帶有間隙的線的示例:
.
.
using System.Windows.Forms.DataVisualization.Charting;
namespace FastReport
{
public class ReportScript
{
private void MSChart1_BeforePrint(object sender, EventArgs e)
{
Series series = new Series("sample");
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 2;
series.MarkerSize = 5;
series.Points.Add(new DataPoint(0, 1));
series.Points.Add(new DataPoint(1, 2));
DataPoint dp = new DataPoint(2, double.NaN);
dp.IsEmpty = true;
series.Points.Add(dp);
series.Points.Add(new DataPoint(3, 5));
series.Points.Add(new DataPoint(4, 8));
MSChart1.Chart.Series.Add(series);
}
}
}結果:

如何從代碼創建MSChartObject?
1.創建新的MSChart對象,設置寬度,高度和圖例:
MSChartObject MSChart1 = new MSChartObject();
MSChart1.Width = 300;
MSChart1.Height = 300;
MSChart1.Chart.Legends.Add(new Legend() { Name = "Legend1", Title="Legend title"}); 2.創建ChartArea對象,設置名稱,軸標題,并將創建的ChartArea分配給MSChart:
ChartArea chartArea1 = new ChartArea(); chartArea1.Name = "ChartArea1"; chartArea1.Axes[0].Title = "X name"; chartArea1.Axes[1].Title = "Y name"; MSChart1.Chart.ChartAreas.Add(chartArea1);
3.創建系列對象,設置圖表類型,邊框寬度,添加點并將系列分配給圖表:
Series series = new Series("sample");
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 2;
series.Points.Add(new DataPoint(0, 1));
series.Points.Add(new DataPoint(1, 2));
series.Points.Add(new DataPoint(3, 5));
series.Points.Add(new DataPoint(4, 8));
MSChart1.Chart.Series.Add(series); 4.將創建的MSChart分配給DataBand:
Report report = new Report();
report.Load("ok.frx");
DataBand db = report.FindObject("Data1") as DataBand;
MSChart1.Parent = db;完整的代碼段:
MSChartObject MSChart1 = new MSChartObject();
MSChart1.Width = 300;
MSChart1.Height = 300;
MSChart1.Chart.Legends.Add(new Legend() { Name = "Legend1", Title="Legend title"});
ChartArea chartArea1 = new ChartArea();
chartArea1.Name = "ChartArea1";
chartArea1.Axes[0].Title = "X name";
chartArea1.Axes[1].Title = "Y name";
MSChart1.Chart.ChartAreas.Add(chartArea1);
Series series = new Series("sample");
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 2;
series.Points.Add(new DataPoint(0, 1));
series.Points.Add(new DataPoint(1, 2));
series.Points.Add(new DataPoint(3, 5));
series.Points.Add(new DataPoint(4, 8));
MSChart1.Chart.Series.Add(series);
Report report = new Report();
report.Load("ok.frx");
DataBand db = report.FindObject("Data1") as DataBand;
MSChart1.Parent = db; 結果:

如何從代碼中獲取查詢參數值?
您應該使用以下代碼段:
Report.Dictionary.Connections [0] .Tables [0] .Parameters [0] .Value.ToString();
如何將HTML格式的報告嵌入消息中并使用代碼通過電子郵件發送?
為此使用以下代碼段:Report report = new Report();
report.LoadPrepared("preparedreport.fpx");
HTMLExport htmlExport = new HTMLExport()
{
SubFolder = false,
Navigator = false,
Pictures = true,
EmbedPictures = true,
SinglePage = true,
Layers = true,
HasMultipleFiles = false
};
EmailExport email = new EmailExport();
//email mailer settings
email.Account.Address = "Email@gmail.com";
email.Account.Name = "Usename";
email.Account.Host = "smtp.yandex.ru";
email.Account.Port = 25;
email.Account.UserName = "Email";
email.Account.Password = "password";
email.Account.MessageTemplate = "Test";
email.Account.EnableSSL = true;
//email addressee settings
email.Address = "Destinationaddress@gmail.com";
email.Subject = "Embedding of html";
email.Export = htmlExport; //Set export type
email.SendEmail(report); //Send email如何在構建或查看報告時關閉ProgressForm?
您可以在EnvironmentSettings中關閉ProgressForm:
Report report = new Report(); report.LoadPrepared(“ 1.fpx”); EnvironmentSettings s = new EnvironmentSettings(); s.ReportSettings.ShowProgress = false;report.Show();如何從代碼中獲取查詢參數值?
打破零回復...
登錄 慧都網發表評論