精华内容
下载资源
问答
  • WPF报表控件

    2011-08-04 19:25:00
    但是WPF中的DataGrid对于数据稍多时,就会很慢。600行的数据显示要半分钟。通过断点查看,发现其实是DataTable绑定到DataGrid时耗时,数据返回到DataTable是很快的。看来要用以前的DataGridView了。...

         直入主题。报表数据是只作显示用的,直接用DataTable比生成ORM集合快,并且高灵活性。以后要修改报表,只要简单修改一下数据库中的视图。

         但是WPF中的DataGrid对于数据稍多时,就会很慢。600行的数据显示要半分钟。通过断点查看,发现其实是DataTable绑定到DataGrid时耗时,数据返回到DataTable是很快的。看来要用以前的DataGridView了。用System.Windows.Forms.DataGridView修改后性能大大提高。600行的数据五,六秒。

       报表控件的XAML

    <UserControl x:Class="WpfApplication1.ReportControl"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                 mc:Ignorable="d" 
                 d:DesignHeight="300" d:DesignWidth="600" 
                 xmlns:winform="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms">
        <Grid  Background="DarkGray">
            <Grid.RowDefinitions>
                <RowDefinition Height="34"></RowDefinition>
                <RowDefinition></RowDefinition>
            </Grid.RowDefinitions>
            <StackPanel Grid.Row="0" Orientation="Horizontal">
                <TextBlock VerticalAlignment="Center" Text="{Binding SearchFieldTitle}"  Margin="5"></TextBlock>
                <TextBox Name="searchText" Width="200"  Margin="5"></TextBox>
                <Button Content="查找" Width="50" Margin="5" IsDefault="True" Click="Button_Click"></Button>
            </StackPanel>
            <WindowsFormsHost Grid.Row="1" Name="windowsFormsHost1" Background="LightGray" >
                <winform:DataGridView Name="listDataGrid" ReadOnly="True" AllowDrop="True" 
                                      AllowUserToAddRows="False" AllowUserToDeleteRows="False"  
                                      Font="15" RowHeadersWidth="20" SelectionMode="FullRowSelect"
                                      ShowEditingIcon="False" ShowCellToolTips="False" ShowCellErrors="False" 
                                      ShowRowErrors="False" AutoSizeColumnsMode="AllCells" >
                </winform:DataGridView>
            </WindowsFormsHost>
        </Grid>
    </UserControl>
    

    报表控件的C#(ReportControl.xaml.cs)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using System.Data;
    using System.Windows.Forms;
    
    namespace WpfApplication1
    {
        /// <summary>
        /// BaseReport.xaml 的交互逻辑
        /// </summary>
        public partial class ReportControl : System.Windows.Controls.UserControl
        {
            private System.Windows.Forms.DataGridView listDataGrid;
    
            public string ViewName { get; set; }
            public string ViewOrder { get; set; }
            public string SearchFieldName { get; set; }
            public string SearchFieldTitle { get; set; }
        
            public ReportControl()
            {
                InitializeComponent();
                listDataGrid = windowsFormsHost1.Child as System.Windows.Forms.DataGridView;
    
                this.SearchFieldTitle = "";
                this.DataContext = this;
            }
    
    
    
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                string queryStr =string.Format("SELECT  * FROM [{0}] Where {1} like '%{2}%'  ORDER BY {3}",ViewName,SearchFieldName, searchText.Text.Trim(),ViewOrder);
    
                listDataGrid.DataSource = DB.GetDataTable(queryStr);
            }
    
    
        }
    }
    
    DB辅助类
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;
    
    namespace WpfApplication1
    {
        public class DB
        {
            private static  string connectionStr = "";
    
            public static void InitConnectionStr(string conStr)
            {
                connectionStr = conStr;
            }
    
            public static SqlConnection  GetNewConnection()
            {
                return new SqlConnection(connectionStr);
            }
    
            public static DataTable GetDataTable(string selectCmdStr)
            {
                DataTable dt = new DataTable();
                SqlDataAdapter adapter=null;
                SqlConnection conn=null;
                try
                {
                    conn=GetNewConnection();
                    conn.Open();
                    adapter = new SqlDataAdapter(selectCmdStr, conn);
                    adapter.Fill(dt);
                }
                catch
                {
    
                }
                finally
                {
                    if (conn != null)
                    {
                        conn.Close();
                        conn.Dispose();
                    }
                    if (adapter != null)
                    {
                        adapter.Dispose();
                    }
                }
    
    
                return dt;
            }
        }
    }
    

    调用

    1。初始化连接字符串。

                DB.InitConnectionStr(@"Data Source=PC2011012718UQF\SQLEXPRESS;Initial Catalog=Northwind;Persist Security Info=True;User ID=dbReader;Password=888888");
    2。在要用的XAML中使用ReportControl

    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525" xmlns:my="clr-namespace:WpfApplication1">
        <Grid>
            <my:ReportControl x:Name="reportControl1" 
                              ViewName="Alphabetical list of products" ViewOrder="ProductID"
                              SearchFieldName="ProductName" SearchFieldTitle="Product Name:" />
        </Grid>
    </Window>
    

    转载于:https://www.cnblogs.com/Ivan83/archive/2011/08/04/2127860.html

    展开全文
  • WPF做的报表控件,小巧但实用。能够自定义表头,导出Excel表格和打印。
  • 4款主流的WPF报表控件对比与分析

    千次阅读 2014-04-04 11:34:04
    根据统计,目前市面上使用最为... Reports.Wpf和XtraReports Suite,这四款报表控件各有异同,本文就这4款WPF报表控件进行分析,帮助你选择最合适自己的报表控件。 ActiveReports 多年来ActiveReports已经提供了 W

    根据统计,目前市面上使用最为广泛的WPFT报表控件有4款,分别为ActiveReportsSharpShooter Reports.WPFStimulsoft Reports.WpfXtraReports Suite,这四款报表控件各有异同,本文就这4款WPF报表控件进行分析,帮助你选择最合适自己的报表控件。

    ActiveReports

    多年来ActiveReports已经提供了 Windows Forms、Web、Silverlight和Flash平台的报表查看器控件,然而,伴随着ActiveReports 7 SP1 的发布,它提供了WPF平台的专业报表查看器控件WPFViewer,用户可以在WPF 平台使用ActiveReports产品。

    推荐理由:

    • 用户群多,中文资源丰富
    • 操作简便、采用拖拽式操作,不会编程也可以进行报表设计
    • 多种报表模型,满足交互式报表等复杂报表需求
    • 零版税快捷部署,降低成本和IT负担
    • 金牌服务专业版¥15,500(2014年4月15日前购买每套赠送一套金牌服务专业版)

    SharpShooter Reports.WPF

    SharpShooter Reports.WPF是原生的基于XAML的WPF报表控件,稳定性好、功能强大,用户只需简单的点击数次鼠标即可从多数据源创建相当复杂的报表,并将之发送至Windows Presentation Foundation。SharpShooter Reports.WPF支持多种数据源,能够快速,轻松地集成到现有系统中。>>>下载SharpShooter Reports.WPF

    推荐理由

    • 稳定性好、功能强大,而且支持多种数据源
    • 终端用户设计器可帮助用户对最终报表和报表模板进行修改
    • 专业版¥19950

    >>>对比详情

    展开全文
  • WPF Toolkit . Supports most important 2D charts, you'll have to implement pan / zoom yourself. WPF Toolkit Development Release . Supports stacked charts, equivalent to the Silverlight version. ...

    Free tools supporting panning / zooming:

    • DynamicDataDisplay - a nice, open source data visualization library. Unfortunately it's not been updated since April 30, 2009.

    Free tools without built in pan / zoom support:

    Paid tools with built in pan / zoom support:

    • Visiblox Charts. Support for the most important 2D charts, comes with zooming and panning. The free version comes with watermark. (See this blog post on using zooming / panning)
    • SciChart. Supports most important 2D charts, comes with zooming and panning, mouse-wheel with animation on zoom. (See this blog post on using zooming / panning across multiple charts)
    • Infragistics xamDataChart. Supports most important 2D charts, zooming and panning. See this blog article on how to use zooming.
    • Telerik RadChart. Supports lots of 2D charts, has some support for zooming and panning, you might need to do a little work on that.
    • Visifire. Supports lots of 2D charts and zooming without animation, might need to do some extra work for smoother zooming.

    Full Disclosure: I have been heavily involved in development of Visiblox, hence I know that library in much more detail than the others.

    (http://stackoverflow.com/questions/577278/wpf-chart-controls)

    展开全文
  • 博客地址: http://code1.okbase.net/codefile/TableRowForDataTable.cs_2013082423968_18.htm

    博客地址:

    http://code1.okbase.net/codefile/TableRowForDataTable.cs_2013082423968_18.htm

    展开全文
  • WPF报表控件(一)

    千次阅读 2018-09-07 09:25:33
    DataGrid是WPF自带的报表控件,但其功能简单,很多时候无法满足我们的需求。第三方库(如DevExpress)报表功能强大,但一方面资源消耗比较多,另一方面性能也较差,在一些比较差的电脑上运行很吃力。我之前就尝试过...
  • WPF报表控件(六)

    千次阅读 2018-09-07 14:45:20
    前面的几项功能,我做的控件都比DevExpress的报表控件性能要好,唯独这个打印要差一些。但这也能用,毕竟打印的功能使用不多,四十页纸之内速度还是可以的。 报表控件使用FlowDocument来打印。我们需要把数据重新...
  • WPF报表控件(二)

    千次阅读 2018-09-07 09:40:14
    首先我们看一下报表控件最终的效果: 我们可以把报表看成是三部分,分别是表头,表主体和表尾。如果我们不使用WPF自带的DataGrid,自己一根线一根线去画的话,这个表格估计也是大工程了。所以一开始,我们就考虑...
  • WPF报表控件(四)

    千次阅读 2018-09-07 10:41:46
    表主体和表尾 ...一开始,我考虑用一个ScrollViewer把整个报表控件包起来。但当我填充大量数据的时候,我发现这样做是有问题的。DataGrid本身只会初始化可视的内容,但当把DataGrid放在ScrollVi...
  • 不错的报表开发控件,非常值得你下载学习。
  • C#之VS自带RDLC报表学习 http://blog.csdn.net/hk_5788/article/details/49846905 DevExpress的XtraReport和微软RDLC报表的使用和对比 https://www.cnblogs.com/wuhuacong/p/4020354.html
  • WPF报表控件(五)

    千次阅读 2018-09-07 14:33:25
    导出Excel表格 导出Excel表格可以使用Office的插件,但我们现场用的电脑不一定是装过Office的,所以也就不能用Office的插件。一开始,我采用了csv格式的文件,直接把后缀改成了xls。这样Excel当然是会打开的。...
  • WPF报表控件(三)

    千次阅读 2018-09-07 10:18:06
    表头 在上一节里面,我们已经知道,表头其实是一个Grid。那么有两个最需要解决的问题: (1)表头列宽变化时,主体和表尾的列宽怎么跟着变化。 (2)如何初始化这个复杂的表头。 ...第一个问题其实并不难,在Grid每...
  • I needed Modern UI Charts for my own application which should run on Desktop (WPF), Web (Silverlight) and Windows 8 devices and I didn't want to use 3 different third party charting components....
  • 控件完全以WPF编写,支持通过XAML和程序代码进行初始化,支持Visual Studio 2008 和Visual Studio2010. 具体功能: 支持本地化和多种语言 控件使你能够为每个图表元素使用自定义模板 支持自定义...
  • WPF中使用DataGridView创建报表控件  直入主题。报表数据是只作显示用的,直接用DataTable比生成ORM集合快,并且高灵活性。以后要修改报表,只要简单修改一下数据库中的视图。  但是WPF中的DataGrid对于数据稍多...
  • MindFusion.Reporting for WPF是一款功能强大的报表控件,可进行可视化编辑相关的数据,可以很容易地整合该工具到你的商业应用程序中,支持创建主从关系报表、插入图像、格式化文本、可视地绑定到任何数据源、导出...
  • MindFusion.Reporting for WPF是一款功能强大的报表控件,可进行可视化编辑相关的数据,可以很容易地整合该工具到你的商业应用程序中,支持创建主从关系报表、插入图像、格式化文本、可视地绑定到任何数据源、导出...
  • wpf,第三方报表控件

    2018-05-09 17:30:16
    两个问题: 1、开发wpf应用程序,你喜欢用第三方控件吗?第三方控件的各种属性、方法等,又不能在msdn上查阅,用起来怎么方便? 2、推荐一款比较好用的,免费的第三方报表控件呗……
  • Stimulsoft Reports.Wpf是针对WPF开发的报表工具控件。无需上网,所有的WPF功能都能用上!丰富的界面更换功能、查看功能、打印以及导出报表功能——所有的这一切就是它都能轻松实现。 创建 Stimulsoft Reports.Wpf...
  • Stimulsoft Reports.Wpf是针对WPF开发的报表工具控件。无需上网,所有的WPF功能都能用上!丰富的界面更换功能、查看功能、打印以及导出报表功能——所有的这一切就是它都能轻松实现。 创建Stimulsoft Reports.Wpf是...
  • 想用wpf打印报表,希望控件比较简单。 可以导入xaml格式设计的模板,不需要代码控制模板。 查了一下几款第三方控件好像都是收费,大家都是一般用什么控件做的呢? 求推荐。 目前想用Stimulsoft Reports....
  • 对开源报表引擎CodeReason进行简单的扩展: 1、运行时更新到.NET4.5 2、使用了最新的WPFVisifire图表控件,实现了多列图表显示 3、根据说明规则,可在报表模板中使用任意WPF控件,并能访问后台数据
  • 对开源报表引擎CodeReason进行简单的扩展: 1、运行时更新到.NET4.5 2、使用了最新的WPFVisifire图表控件,实现了多列图表和混合显示 3、根据说明规则,可在报表模板中使用任意WPF控件,并能访问后台数据 4、将原...
  • wpf控件进行截图,获取快照

    千次阅读 2019-07-01 16:36:00
    有时候我们项目,在执行某个操作后,会生成一些数据结果,如报表一类的东西,我们需要对结果进行保存,甚至是生成word文档。 那么首先获取到控件快照就最基本的条件。 生成快照的静态方法类 using System; ...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 198
精华内容 79
关键字:

wpf报表控件