在RadGridView中进行分组以及导出

分组

主要是在前台进行分组的定义:

前台代码:

<telerik:RadGridView x:Name="RadGridView1" ItemsSource="{Binding Customers}" CanUserFreezeColumns="False" AutoExpandGroups="True" AutoGenerateColumns="False">
             <telerik:RadGridView.GroupDescriptors>
                 <telerik:GroupDescriptor Member="Country">
                     <telerik:GroupDescriptor.AggregateFunctions>
                         <telerik:CountFunction Caption="Total customers:" />
                     </telerik:GroupDescriptor.AggregateFunctions>
                 </telerik:GroupDescriptor>
             </telerik:RadGridView.GroupDescriptors>
             <telerik:RadGridView.Columns>
                 <telerik:GridViewDataColumn Header="CustomerID" DataMemberBinding="{Binding CustomerID}" />
                 <telerik:GridViewDataColumn Header="CompanyName" DataMemberBinding="{Binding CompanyName}" />
                 <telerik:GridViewDataColumn Header="ContactName" DataMemberBinding="{Binding ContactName}" />
                 <telerik:GridViewDataColumn Header="ContactTitle" DataMemberBinding="{Binding ContactTitle}" />
                 <telerik:GridViewDataColumn Header="Country" DataMemberBinding="{Binding Country}" />
                 <telerik:GridViewDataColumn Header="City" DataMemberBinding="{Binding City}" />
             </telerik:RadGridView.Columns>
         </telerik:RadGridView>

导出---RadGridView控件自带导出功能(以导出EXCEL为例)

需在前台定义事件---然后在后台定义导出功能。(需要注意的是,将控件设置为隐藏的话导出是不成功的)

定义的事件ElementExporting="控件名称_ElementExporting"

后台代码:

private void 空间名称_ElementExporting(object sender, GridViewElementExportingEventArgs e)
         {
             if (e.Element == ExportElement.HeaderRow || e.Element == ExportElement.HeaderCell)
             {
                 e.Background = Colors.LightGray;
                 e.FontSize = 20;
                 e.FontWeight = FontWeights.Bold;
                 e.Height = 50;
                 e.Width = 100;
             }
         }

当然,你的UI中肯定有一个导出的Button的控件来导出,其后台的事件如下:

private void Button控件名称_Click(object sender, RoutedEventArgs e)
         {
             string extensioin = "xls";
             ExportFormat format = ExportFormat.Html;
             SaveFileDialog dialog = new SaveFileDialog();
             dialog.DefaultExt = extensioin;
             dialog.Filter = String.Format("{1} files (*.{0})|*.{0}|All files (*.*)|*.*", extensioin, "Excel");
 
             dialog.FilterIndex = 1;
 
             if (dialog.ShowDialog() == true)
             {
                 try
                 {
                     using (Stream str = dialog.OpenFile())
                     {
                         GridViewExportOptions exportextension = new GridViewExportOptions();
                         exportextension.Format = format;
                         exportextension.Encoding = System.Text.Encoding.GetEncoding("utf-8");//放置乱码的出现
                         exportextension.ShowColumnFooters = true;
                         exportextension.ShowColumnHeaders = true;
                         exportextension.ShowGroupFooters = true;
                         this.SCityGridView.SalesRadGridView.Export(str, exportextension);
                     }
                 }
                 catch (Exception)
                 {
 
                    
                 }
                
             }
         }

silverlight RadGridView总结三(转载)的更多相关文章

  1. ArcGIS网络分析之Silverlight客户端路径分析(三)

    原文:ArcGIS网络分析之Silverlight客户端路径分析(三) 首先贴上最终的效果图: a.路径查询 2.最近设施点查询 3.服务区分析 说明: 1.以上的示例使用的数据是随意在ArcMap中 ...

  2. silverlight RadGridView总结二(转载)

    系列二    实现RadGridView行中添加不同控件,并在控件中绑定不同的数据源    先上一段前台代码 <telerik:RadGridView Grid.Row="2" ...

  3. silverlight RadGridView总结系列(转载)

    系列一. RadGridView常用属性总结    1.不可编辑----IsReadOnly="True".    2.不自动增加行----AutoGenerateColumns= ...

  4. Silverlight RadGridView的HeaderCellStyle样式

    效果图 <UserControl x:Class="SilverlightApplication7.MainPage" xmlns="http://schemas. ...

  5. Silverlight学习(三)

    最近对WCFRIA+MVVM+Prism有了初步的认识,能够简单的实现一些数据库的交互.这节主要讲的是Silverlight通过domainservice和ado.net实体数据模型与数据库的交互.本 ...

  6. Digester学习笔记(三)转载

    总觉得,Digester不仅仅能作配置文件解析,而且可以作得更多. 配置属性 Digester用来解析应用系统的配置文件,其本身也有很可配置的属性. 属性 描述 classLoader 指定类装载器( ...

  7. silverlight RadGridView 动态添加数据列

    public void BindFaultGridInfo(IList<HealthStatusApp.Web.Models.FaultMajorModel> list) { rg_Fau ...

  8. silverlight数据绑定模式TwoWay,OneWay,OneTime的研究

    asp.net开发中,数据绑定是一个很简单的概念,控件与数据绑定后,控件可以自动把数据按一定的形式显示出来.(当然控件上的值改变后,可以通过提交页面表单,同时后台服务端代码接收新值更新数据) silv ...

  9. jQuery中的常用内容总结(三)

    jQuery中的常用内容总结(三) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7571998.html 内容提要 选择器(第一节) 选择器的扩展方法(第一节) ...

随机推荐

  1. Vim求生

    [TOC] Vim 是从 vi 发展出来的一个文本编辑器.其代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器. —— ...

  2. fastxml Jackson annotation使用小记

    dependencies: compile("com.fasterxml.jackson.core:jackson-annotations") compile("com. ...

  3. 模板—算法—整体二分(区间k小值)

    模板—算法—整体二分(区间k小值) Code: #include <cstdio> #include <algorithm> using namespace std; #def ...

  4. Codeforces Round #124 (Div. 1) C. Paint Tree(极角排序)

    C. Paint Tree time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  5. Scala零基础教学【102-111】Akka 实战-深入解析

    第102讲:通过案例解析Akka中的Actor运行机制以及Actor的生命周期 Actor是构建akka程序的核心基石,akka中actor提供了构建可伸缩的,容错的,分布式的应用程序的基本抽象, a ...

  6. python语言实现阶乘的两种方法---递归和迭代

    阶乘的递归实现,代码如下: def factorial(n): if n==1: return 1 else: return n*factorial(n-1) number = int(input(& ...

  7. Swift,循环及判断

    1.for循环(执行固定次数的操作) (1)基本数组循环 var a=[1,2,3] for value in a{ print(value) //1 2 3 } (2)自定义循环次数 for i i ...

  8. Kubernetes连接外部数据源

    Kubernetes架构下比较核心的问题是数据如何persistance,虽然提供了Persistent volumn的方式,但是对于像数据库之类的产品在kubernetes集群环境中运行和管理还是很 ...

  9. 12、Django简易框架

    安装:  tar -zxvf Django-1.5.1.tar.gz   cd Django-1.5.1 [root@likun Django-1.5.1]# ls [root@likun Djang ...

  10. 自建Saltstack的repo软件源仓库

    因为Saltstack自己的repo源是在国外,在国内服务器yum安装Saltstack的时候下载软件包就非常慢,很多情况下还经常下载失败,其实软件包总大小只有10M左右,如果这样安装多台minion ...