原創|行業資訊|編輯:何家巧|2022-12-29 15:33:27.590|閱讀 297 次
概述:在使用報表開發工具FastReport.NET的過程中,總會遇見授權或者使用問題,今天我們就聯合廠商為大家帶來五個常見問題的解答,希望能夠幫到大家。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Fastreport是目前世界上主流的圖表控件,具有超高性價比,以更具成本優勢的價格,便能提供功能齊全的報表解決方案,連續三年蟬聯全球文檔創建組件和庫的“ Top 50 Publishers”獎。慧都科技是Fast Reports在中國區十余年的友好合作伙伴,連續多年被Fast Reports授予中國區Best Partner稱號。
上一篇我們了解到了在使用FastReport .Net十大常見問題及解決辦法,今天我們繼續討論常常遇到的5個問題及解決方法。
問題1:如何從代碼繼承報告?
1.需要您創建新報告:
Report report = new Report();
2.添加 CustomLoadEventHandler 加載基礎報表:
report.LoadBaseReport += new CustomLoadEventHandler(FReport_LoadBaseReport);
3.加載繼承報表:
report.Load("InheritReport.frx");
4.刪除CustomLoadEventHandler:
report.LoadBaseReport -= new CustomLoadEventHandler(FReport_LoadBaseReport);
5.您可以顯示報告或編輯報告,報告有基礎報告和繼承報告:
report.Show();
同時還需要創建加載基礎報告的事件:
private void FReport_LoadBaseReport(object sender, CustomLoadEventArgs e)
{
// e.FileName contains the name of base report. It may be the file name, or an ID in the database,
// it depends on how you load the main report
e.Report.Load("C:\\Users\\InheritReport\\bin\\Debug\\Title2.frx");
}
完整的代碼
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Report report = new Report();
report.LoadBaseReport += new CustomLoadEventHandler(FReport_LoadBaseReport);
report.Load("InheritReport.frx");
report.LoadBaseReport -= new CustomLoadEventHandler(FReport_LoadBaseReport);
report.Show();
}
private void FReport_LoadBaseReport(object sender, CustomLoadEventArgs e)
{
// e.FileName contains the name of base report. It may be the file name, or an ID in the database,
// it depends on how you load the main report
e.Report.Load("C:\\Users\\InheritReport\\bin\\Debug\\Title2.frx");
}
}
如果要從數據庫加載報告,請替換 LoadFromString() 上的 Load() 方法。
問題2:如何刪除最終用戶的代碼選項卡?
environmentSettings1.DesignerSettings.Restrictions.DontEditCode = true;
這樣數據控件將被禁用。2) 將 WindowsFormsHost 標記添加到您的 XAML 標記中:
<WindowsFormsHost Horizo ntalAlignment = "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>
問題4:如何以編程方式設置格式的值
您可以使用以下代碼在腳本或項目中執行此操作:
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);
問題5:如何在MSChartObject中創建一條有間隙的線?
您應該創建基礎 System.Windows.Forms.DataVisualization.Charting.Series 對象并在那里創建行。在此之后應該為 MSChartObject 基本圖表分配創建的系列(MSChart1.Chart.Series.Add(系列);)不要忘記 在 Report -> Script 菜單和命名空間 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);
}
}
}
關于“FastReport .NET五大常見問題”的講解就到這里了,點擊查看上一章:FastReport .Nets十大常見問題及解決辦法。
如您有更多相關問題,歡迎加入官方技術群交流解決。
FastReport技術QQ群:536197826 歡迎進群一起討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn