2016-06-30 5 views
3

Я установил FastReport.Net для создания отчетов.Создать отчет используя FastReport.Net

я включил следующие ссылки:

FastReport.dll , FastReport.Web.dll , FastReport.Bars.dll , FastReport.Editor.dll , FastReport.Service.dll 

Также я создал пользовательский Tab в ToolBox под названием FastReport.Net и добавил управления FastReport/Компоненты на вкладку и элементы управления, которые у меня есть следующие:

Pointer and WebReport 

Я потащил и droppped компонент WebReport на моей странице .aspx и это делает мой web.config как это:

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
     <add assembly="FastReport.Web, Version=2016.3.13.0, Culture=neutral, PublicKeyToken=DB7E5CE63278458C" /> 
     <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="FastReport, Version=2016.3.13.0, Culture=neutral, PublicKeyToken=DB7E5CE63278458C" /> 
     </assemblies> 
    </compilation> 
    </system.web> 
    <connectionStrings> 
    <add name="ConnectionString" connectionString="Data Source=WIN-SERVER;Initial Catalog=RndDatabase;User ID=development;Password=development" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <handlers> 
     <add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport" /> 
    </handlers> 
    </system.webServer> 
</configuration> 

Мой вопрос в том, как я смогу получить данные из базы данных и распечатать отчет с помощью FastReport.

Я создал dataset.xsd в моем проекте, но когда я нажимаю на Select DataSource... от дизайна на FastReport (Ctrl + Сдвиг + F10) открывает всплывающее окно без параметров, чтобы выбрать ,

Есть ли какая-либо другая процедура для этого?

Редактировать

Я попытался это:

using System; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data.SqlClient; 
using System.Web.UI.WebControls; 

using FastReport; 
using FastReport.Web.Handlers; 
using FastReport.Wizards; 
using FastReport.Utils; 
using FastReport.TypeConverters; 
using FastReport.Code; 
using FastReport.MSChart; 
using FastReport.Data; 
using FastReport.Design.StandardDesigner; 


namespace fastreports4 
{ 
    public partial class fastrepo : System.Web.UI.Page 
    { 
     string sql = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); 

     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     public DataSet BindData() 
     { 
      DataSet _dataSet = new DataSet(); 
      SqlConnection con = new SqlConnection(sql); 
      SqlCommand cmd = new SqlCommand("select * from cities", con); 
      SqlDataAdapter da = new SqlDataAdapter(cmd); 
      da.Fill(_dataSet); 
      con.Open(); 
      cmd.ExecuteNonQuery(); 
      con.Close(); 
      return _dataSet; 
     } 


     protected void Button1_Click(object sender, EventArgs e) 
     { 
      DataSet _dataSet = new DataSet(); 
      _dataSet = BindData(); 
      Report report = new Report(); 
      // register the "Cities" table 
      report.RegisterData(_dataSet.Tables[0], "Cities"); 
      // enable it to use in a report 
      report.GetDataSource("Cities").Enabled = true; 
      // create A4 page with all margins set to 1cm 
      ReportPage page1 = new ReportPage(); 
      page1.Name = "Page1"; 
      report.Pages.Add(page1); 
      // create ReportTitle band 
      page1.ReportTitle = new ReportTitleBand(); 
      page1.ReportTitle.Name = "FastReport"; 
      // set its height to 1.5cm 
      page1.ReportTitle.Height = Units.Centimeters * 1.5f; 
      // create group header 
      GroupHeaderBand group1 = new GroupHeaderBand(); 
      group1.Name = "Cities Data"; 
      group1.Height = Units.Centimeters * 1; 
      // set group condition 
      group1.Condition = "[Cities.CityName]";//[Cities.CityName].Substring(0, 1) 
      // add group to the page.Bands collection 
      page1.Bands.Add(group1); 
      // create group footer 
      group1.GroupFooter = new GroupFooterBand(); 
      group1.GroupFooter.Name = "GroupFooter1"; 
      group1.GroupFooter.Height = Units.Centimeters * 1; 
      // create DataBand 
      DataBand data1 = new DataBand(); 
      data1.Name = "Data1"; 
      data1.Height = Units.Centimeters * 0.5f; 
      // set data source 
      data1.DataSource = report.GetDataSource("Cities"); 
      // connect databand to a group 
      group1.Data = data1; 
      // create "Text" objects 
      // report title 
      TextObject text1 = new TextObject(); 
      text1.Name = "Text1"; 
      // set bounds 
      text1.Bounds = new System.Drawing.RectangleF(0, 0, 
      Units.Centimeters * 19, Units.Centimeters * 1); 
      // set text 
      text1.Text = "CitiesData"; 
      // set appearance 
      text1.HorzAlign = HorzAlign.Center; 
      text1.Font = new System.Drawing.Font("Tahoma", 14, FontStyle.Bold); 
      // add it to ReportTitle 
      page1.ReportTitle.Objects.Add(text1); 
      // group 
      TextObject text2 = new TextObject(); 
      text2.Name = "Text2"; 
      text2.Bounds = new RectangleF(0, 0, 
      Units.Centimeters * 2, Units.Centimeters * 1); 
      text2.Text = "[Cities.CityName]";//[Cities.CityName].Substring(0, 1) 
      text2.Font = new Font("Tahoma", 10, FontStyle.Bold); 
      // add it to GroupHeader 
      group1.Objects.Add(text2); 
      report.Show(); 
     } 
    } 
} 

Здесь я хочу, чтобы сгенерировать отчет по нажатию одной кнопки, при нажатии на кнопку, чтобы сгенерировать отчет, что дает мне ошибку на линии report.Show();:

Регистрация DragDrop не удалось.

, и когда я продолжаю выполнение, он прекращает выполнение на report.Show();.

ответ

2

Одним из способов использования элемента управления FastReport называется WebReport.

Для этого все, что вам нужно сделать, это то, что создать новый пользовательский Tab в ступеньках ToolBox для этого следующим образом:

  • Щелкните правой кнопкой мыши на панели инструментов и нажмите на кнопку создать новую вкладку под названием FastReport (вы можете дать любое имя)
  • добавить dlls FastReport
  • после этого перетащите элемент управления Webreport и создайте отчет.
  • Если вы хотите взаимодействовать с базой данных из меню, добавьте DataSource.

и вот оно!

Смежные вопросы