Silverlight中DataGrid控件提供了三种模板分别是(DataGridCheckBoxColumn,DataGridTextColumn,DataGridTemplateColumn,RowDetailsTemplates)

这里主要讲解一下DataGridTemplateColumn,RowDetailsTemplate模板的使用方法

在DataGridTemplateColumn里分别又有显示模板CellTemplate和编辑模板CellEditingTemplate.

在编辑模板中我们可以添加任意编辑控件

在RowDetailsTemplate中主要显示一些详细的内容.

数据对象

View Code

/// <summary>/// DataGrid自定义列/// </summary>    public class BookClass2    {/// <summary>/// 是否选择/// </summary>        public bool IsSelect { get; set; }/// <summary>/// 书名/// </summary>        public string Title { get; set; }/// <summary>/// 作者/// </summary>        public string Author { get; set; }/// <summary>/// 发布日期/// </summary>        public DateTime Time { get; set; }/// <summary>/// 作者列表/// </summary>        public List<Auth> AuthorList { get; set; }

public string Entity { get; set; }/// <summary>/// 实例化/// </summary>/// <param name="isselect">是否选择</param>/// <param name="title">书名</param>/// <param name="author">作者</param>        public BookClass2(bool isselect, string title, string author,string entity)        {            IsSelect = isselect;            Title = title;            Author = author;            Entity = entity;            Time = DateTime.Now;            AuthorList = Auth.List;        }    }/// <summary>/// 作者类/// </summary>    public class Auth    {public string AuthName { get; set; }public static List<Auth> List = new List<Auth>()             { new Auth { AuthName = "tnspop" },new Auth { AuthName = "tnsstar" }, new Auth { AuthName = "tnssun" }             };    }

DataGrid数据控件

View Code

<UserControl xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"  xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"  x:Class="DataGridTest.Control.DataGridBook2"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Width="400" Height="150"><Grid x:Name="LayoutRoot" Background="White"><data:DataGrid Name="gridSetColumns" AutoGenerateColumns="False"><data:DataGrid.Columns><data:DataGridCheckBoxColumn Header="操作" Binding="{Binding IsSelect}"/><data:DataGridTextColumn Header="书名" Binding="{Binding Title}"/><data:DataGridTemplateColumn Header="作者"><data:DataGridTemplateColumn.CellTemplate><DataTemplate><TextBlock Text="{Binding Author}"/></DataTemplate></data:DataGridTemplateColumn.CellTemplate><data:DataGridTemplateColumn.CellEditingTemplate><DataTemplate><ComboBox ItemsSource="{Binding AuthorList}"><ComboBox.ItemTemplate><DataTemplate><TextBlock Text="{Binding AuthName}"/></DataTemplate></ComboBox.ItemTemplate></ComboBox></DataTemplate></data:DataGridTemplateColumn.CellEditingTemplate></data:DataGridTemplateColumn><data:DataGridTemplateColumn Header="发布日期"><data:DataGridTemplateColumn.CellTemplate><DataTemplate><TextBlock Text="{Binding Time}"/></DataTemplate></data:DataGridTemplateColumn.CellTemplate><data:DataGridTemplateColumn.CellEditingTemplate><DataTemplate><controls:DatePicker SelectedDate="{Binding Time}"></controls:DatePicker></DataTemplate></data:DataGridTemplateColumn.CellEditingTemplate></data:DataGridTemplateColumn></data:DataGrid.Columns><data:DataGrid.RowDetailsTemplate><DataTemplate><TextBlock Text="{Binding Entity}"/></DataTemplate></data:DataGrid.RowDetailsTemplate></data:DataGrid>

</Grid></UserControl>

后台cs代码

View Code

public partial class DataGridBook2 : UserControl    {public DataGridBook2()        {            InitializeComponent();            Databinding();        }

private void Databinding()        {            List<BookClass2> list = new List<BookClass2>()             { new BookClass2(true, "坏蛋是怎样炼成的", "tnspop","这本书讲了谢文东是如何从一个弱者变成一个强者的"),new BookClass2(false, "咸郎平说", "tnsstar","这本书讲了一些常见的经济问题,分析的很透彻"),new BookClass2(true, "帝国主义在中国", "tnssun","这本书讲了那些资本投资的金融学家在中国的一些见不得光的事情")             };            gridSetColumns.ItemsSource = list;        }    }

至此,DataGrid数据自定义列完毕,下一节将讲如何在dataGrid中操作数据对象,数据绑定模式和对象集合绑定

转载于:https://www.cnblogs.com/tnspop/archive/2012/01/10/2317803.html

DataGrid 数据绑定使用小结二(自定义列)相关推荐

  1. DataGrid 数据绑定使用小结三(数据绑定)

    上一节记录了数据绑定的自定义模板,可以在显示和编辑模板中添加任意控件实现业务需求,但出现一个问题 在编辑模板中进行编辑后却没有影响数据对象.这里要讲的是绑定的三种模式OneTime,OneWay,Tw ...

  2. 为 ASP.NET Datagrid 创建自定义列

    Marcie Robillard DatagridGirl.com 2003 年 9 月 简介 不得不承认,为 Microsoft® ASP.NET 编写 Datagrid 代码包括大量的重复工作.尽 ...

  3. EasyUI Datagrid 自定义列、Foolter及单元格编辑

    1:自定义列,包括 Group var head1Array = []; head1Array.push({ field: 'Id', title: 'xxxx', rowspan: 2 }); he ...

  4. DevExpress 之 GridControl 自定义列

    Ø  前言 DevExpress 控件大家应该都有所了解,使用这个框架实现B/S或C/S的,都是非常出色的.本文主要讨论下 GridControl 中如何[自定义列]或[计算列],可使用以下两种方法实 ...

  5. JavaSE学习小结二

    JavaSE学习小结二 记录学习----------JavaSE模块三&四 其中大部分是一些工具类,会将常用方法及其功能描述整理成表格方便日后查阅 文章目录 JavaSE学习小结二 一.Obj ...

  6. 7.2DIY可视化后台表格自定义列显示类型

    后台表格自定义列显示类型 本教程均在第一节中项目启动下操作 后台表格自定义列显示类型 前言 一.图片格式内容显示: 二. 效果展示: http://localhost:9999/#/hdp 三:自定义 ...

  7. LaTeX表格自定义行高+自定义列宽+大表格自适应页面宽度

    一.自定义行高 默认行高效果 自定义行高效果:看起来更美观.大方些 实现方式:在LaTeX表格中的\begin{table}和\begin{tabular}之间插入命令\renewcommand\ar ...

  8. Skype for business混合部署系列之二自定义拓扑信息

    Skype for business混合部署系列之二自定义拓扑信息 此次部署前端服务器共3台,后端数据库2台采用always on方式,2台SQL Server服务器已经安装完成,在这里不做文档,本章 ...

  9. PowerBI随笔(3)-增加自定义列

    商品表加上价格 然后增加自定义列,统计金额 (1)合并查询,加上价格 (2)增加自定义列

最新文章

  1. 结果显示窗口如何缩小_【操作教程】零基础如何学习PS与Sai?
  2. 微型计算机及接口技术试卷,微机原理及接口技术试题以及答案
  3. python给视频添加声音_python 给视频加入音频
  4. Windows版本nginx
  5. php 检查数据库查询结果,php数据库连接、查询、显示结果的小例子
  6. Linux基础——常用命令
  7. 使用struts2 做客户端校验时抛出freemarker模版错误异常的处理
  8. [渝粤教育] 江西财经职业学院 企业会计业务核算与财务报告编制 参考 资料
  9. Hikari 数据库连接池配置详解
  10. i++、i--与++i、--i的区别
  11. 解决对话框的圆角背景图片黑色部分
  12. 文档已完成加载后执行document write整个 HTML 页面将被覆盖
  13. kali 切换root账号
  14. matlab 矩阵处理,matlab矩阵处理
  15. sparksql 大小写_Spark SQL函数
  16. BUUCTF:小明的保险箱
  17. UE4中使用真实天空插件——TrueSky
  18. Gym - 101612A 点亮数字
  19. HP打印机M1216nfh无法在win10安装驱动的解决方法
  20. not x、not None 和 is None的使用及区别

热门文章

  1. x-ray社区版简单使用教程
  2. 收藏提高PPT生产力的网站
  3. 项目Ⅱ-注册页面的完成
  4. 如果你不想长期996,看看这个
  5. apache log4j漏洞复现
  6. 从儿时的科幻电影到spaceX的火箭回收
  7. ubuntu 18.04 Linux 安装OpenCV 教程
  8. 如何查看C++ 编译的DLL函数
  9. Marvolo Gaunt's Ring(类似于dp的做法)
  10. 如何做好机器人方向的毕业设计?(毕业论文基本流程+机器人课程学习计划)