在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. NOIP2018提高组模拟题(五)

    字符串(string) Description 小林与亮亮正在做一个游戏.小林随意地写出一个字符串,字符串只由大写 字母组成,然后指定一个非负整数 m,亮亮可以进行至多 m 次操作,每次操作 为交换相 ...

  2. 洛谷——P1024 一元三次方程求解

    P1024 一元三次方程求解 题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-10 ...

  3. hadoop 编译代码及运行

    搞定了hadoop配置之后,可以写代码运行了,首先要配一下CLASS_PATH,修改/etc/profile export JAVA_HOME=/usr/lib/jvm/java--openjdk-i ...

  4. mysql使用default来设置字段的默认值

    mysql创建表时,我们可以使用default来设置表字段的默认值,这样当向表中插入或添加数据时,如果没有为此字段设置任何值,则使用default默认值来填充该字段的值 在使用create table ...

  5. 软件工程中的反面模式(anti-pattern)

    软件设计 抽象倒置(Abstraction inversion):不把用户需要的功能直接提供出来,导致他们要用更上层的函数来重复实现 用意不明(Ambiguous viewpoint):给出一个模型( ...

  6. sdoi2018酱油鸡

    ruand1滚粗啦,然后过来写游记 四月是你の省选... day -1 老师突然告诉我们说 day2 回来参加月考,心态爆炸. day0 坐车,颓,和队爷zpd补了b站翻唱2017top100,晚上收 ...

  7. [BZOJ 1833] 数字计数

    Link: BZOJ 1833 传送门 Solution: 比较明显的数位DP 先预处理出1~9和包括前导0的0的个数:$pre[i]=pre[i-1]*10+10^{digit-1}$ (可以分为首 ...

  8. 【最大流】【Dinic】bzoj2929 [Poi1999]洞穴攀行

    TMD 题意其实是与1或n相连的边只能走一次,其他可以走无限次……翻译去死. 裸最大流. #include<cstdio> #include<cstring> #include ...

  9. 【最短路】【Heap-Dijkstra】【分层图】bzoj2662 [BeiJing wc2012]冻结

    裸的分层图最短路. #include<cstdio> #include<cstring> #include<queue> #include<algorithm ...

  10. 1.3(学习笔记)JSP(Java Server Pages)内置对象

    一.内置对象 内置对象又称内建对象.隐式对象,是由服务器自动创建实例化的, 用户在使用时不需要显示的创建,可直接使用. jsp内置对象名称,类型及作用域 Scope代表该内置对象的作用范围,page表 ...