DataGrid 数据绑定使用小结二(自定义列)
Silverlight中DataGrid控件提供了三种模板分别是(DataGridCheckBoxColumn,DataGridTextColumn,DataGridTemplateColumn,RowDetailsTemplates)
这里主要讲解一下DataGridTemplateColumn,RowDetailsTemplate模板的使用方法
在DataGridTemplateColumn里分别又有显示模板CellTemplate和编辑模板CellEditingTemplate.
在编辑模板中我们可以添加任意编辑控件
在RowDetailsTemplate中主要显示一些详细的内容.
数据对象
/// <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数据控件
<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代码
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 数据绑定使用小结二(自定义列)相关推荐
- DataGrid 数据绑定使用小结三(数据绑定)
上一节记录了数据绑定的自定义模板,可以在显示和编辑模板中添加任意控件实现业务需求,但出现一个问题 在编辑模板中进行编辑后却没有影响数据对象.这里要讲的是绑定的三种模式OneTime,OneWay,Tw ...
- 为 ASP.NET Datagrid 创建自定义列
Marcie Robillard DatagridGirl.com 2003 年 9 月 简介 不得不承认,为 Microsoft® ASP.NET 编写 Datagrid 代码包括大量的重复工作.尽 ...
- EasyUI Datagrid 自定义列、Foolter及单元格编辑
1:自定义列,包括 Group var head1Array = []; head1Array.push({ field: 'Id', title: 'xxxx', rowspan: 2 }); he ...
- DevExpress 之 GridControl 自定义列
Ø 前言 DevExpress 控件大家应该都有所了解,使用这个框架实现B/S或C/S的,都是非常出色的.本文主要讨论下 GridControl 中如何[自定义列]或[计算列],可使用以下两种方法实 ...
- JavaSE学习小结二
JavaSE学习小结二 记录学习----------JavaSE模块三&四 其中大部分是一些工具类,会将常用方法及其功能描述整理成表格方便日后查阅 文章目录 JavaSE学习小结二 一.Obj ...
- 7.2DIY可视化后台表格自定义列显示类型
后台表格自定义列显示类型 本教程均在第一节中项目启动下操作 后台表格自定义列显示类型 前言 一.图片格式内容显示: 二. 效果展示: http://localhost:9999/#/hdp 三:自定义 ...
- LaTeX表格自定义行高+自定义列宽+大表格自适应页面宽度
一.自定义行高 默认行高效果 自定义行高效果:看起来更美观.大方些 实现方式:在LaTeX表格中的\begin{table}和\begin{tabular}之间插入命令\renewcommand\ar ...
- Skype for business混合部署系列之二自定义拓扑信息
Skype for business混合部署系列之二自定义拓扑信息 此次部署前端服务器共3台,后端数据库2台采用always on方式,2台SQL Server服务器已经安装完成,在这里不做文档,本章 ...
- PowerBI随笔(3)-增加自定义列
商品表加上价格 然后增加自定义列,统计金额 (1)合并查询,加上价格 (2)增加自定义列
最新文章
- 结果显示窗口如何缩小_【操作教程】零基础如何学习PS与Sai?
- 微型计算机及接口技术试卷,微机原理及接口技术试题以及答案
- python给视频添加声音_python 给视频加入音频
- Windows版本nginx
- php 检查数据库查询结果,php数据库连接、查询、显示结果的小例子
- Linux基础——常用命令
- 使用struts2 做客户端校验时抛出freemarker模版错误异常的处理
- [渝粤教育] 江西财经职业学院 企业会计业务核算与财务报告编制 参考 资料
- Hikari 数据库连接池配置详解
- i++、i--与++i、--i的区别
- 解决对话框的圆角背景图片黑色部分
- 文档已完成加载后执行document write整个 HTML 页面将被覆盖
- kali 切换root账号
- matlab 矩阵处理,matlab矩阵处理
- sparksql 大小写_Spark SQL函数
- BUUCTF:小明的保险箱
- UE4中使用真实天空插件——TrueSky
- Gym - 101612A 点亮数字
- HP打印机M1216nfh无法在win10安装驱动的解决方法
- not x、not None 和 is None的使用及区别