在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. KMP+差分 文章过滤器 (filter)

    Description 给定一些短串,要求你在一个长串中,将这些短串部分变为\(*\) Input 第一行包括一个整数\(n\),表示短串的数量. 接下来的\(n\)行,为\(n\)个短串. 最后一行 ...

  2. POJ1251 Jungle Roads(Kruskal)(并查集)

    Jungle Roads Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 23882   Accepted: 11193 De ...

  3. NOI2013部分题解

    Day 1 T1:向量内积 直接暴力有60.发现将n个向量合成$n\times d$的矩阵$A$,然后求$A\times A^T$,得到的矩阵包含了所有的答案. 先考虑$k=2$,将答案矩阵和全1矩阵 ...

  4. 【后缀数组】【二分答案】【差分】poj1743 Musical Theme

    差分消除加减一个值得影响,貌似r二分上界要设成(n-2)/2?为啥? sa求不可重叠最长重复子串 给定一个字符串,求最长重复子串,这两个子串不能重叠.算法分析:这题比上一题稍复杂一点.先二分答案,把题 ...

  5. 【博弈论】poj2348 Euclid's Game

    假设当前b>a. 一.b%a==0 必胜 二.b<2*a,当前我们没有选择的余地,若下一步是必胜(最终能到情况一),则当前必败:反之,当前必胜. 三.b>2*a,假设x是使得b-ax ...

  6. 【bzoj1604】【[Usaco2008 Open]Cow Neighborhoods】简单的谈谈曼哈顿距离

    (最近p站上不去要死了) Description 了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000)只奶牛,你会发现她们已经结成了几个"群".每只奶牛在吃 ...

  7. 什么是EPEL 及 Centos上安装EPEL(转)

    什么是EPEL 及 Centos上安装EPEL 转自:http://www.unxmail.com/read.php?67 RHEL以及他的衍生发行版如CentOS.Scientific Linux为 ...

  8. gnuplot加速比比较图

    1)使用gnuplot画图代码如下: :] :] set xlabel "分片数" set ylabel "加速比" plot : w lp pt ps tit ...

  9. IntelliJ 常用设置

    一.智能代码提示忽略大小写 打开设置(CTRL+ALT+S)搜索editor,找到“Code Completion”->点击Case sensitive completion后面的选择框,选中N ...

  10. [读书笔记] 你早该这么玩Excel

    <你早该这么玩Excel>只教你做两件事:如何设计一张“天下第一表”,你会恍然大悟,以前遇到的种种麻烦是因为做错了表格:如何一分钟“变”出N张表,你会明白表格是“变”出来的,不是“做”出来 ...