Silverlight的DataGrid合并单元格
现在也不知道还有没有同学做Silverlight开发了,我是一个Silverlight菜鸟,遇到问题也很难百度查到。就简单的记录一下这两天遇到的问题,并做了一个简单的小Demo,希望能够帮助到其他同学,并为自己翻看。
DataGrid合并单元格,实现结果如下:
Silverlight后台代码如下:
/// <summary>
/// 学生实体类
/// </summary>
public class Students
{
private string name;
/// <summary>
/// 学生姓名
/// </summary>
public string Name
{
get { return name; }
set { name = value; }
} private int age;
/// <summary>
/// 学生年龄
/// </summary>
public int Age
{
get { return age; }
set { age = value; }
}
private string sex;
/// <summary>
/// 学生性别
/// </summary>
public string Sex
{
get { return sex; }
set { sex = value; }
} private List<Courses> coursesLists = new List<Courses>();
/// <summary>
/// 课程列表
/// </summary>
public List<Courses> CoursesLists
{
get { return coursesLists; }
set { coursesLists = value; }
}
}
/// <summary>
/// 课程实体类
/// </summary>
public class Courses
{
private double score;
/// <summary>
/// 课程分数
/// </summary>
public double Score
{
get { return score; }
set { score = value; }
} private string course;
/// <summary>
/// 课程名称
/// </summary>
public string Course
{
get { return course; }
set { course = value; }
}
}
/// <summary>
/// 张山的课程列表
/// </summary>
/// <returns></returns>
private static List<Courses> ZhangSan()
{
List<Courses> zhangsan = new List<Courses>();
Courses shuxue = new Courses();
shuxue.Course = "数学";
shuxue.Score = ;
zhangsan.Add(shuxue); Courses yingyu = new Courses();
yingyu.Course = "英语";
yingyu.Score = ;
zhangsan.Add(yingyu); Courses yuwen = new Courses();
yuwen.Course = "语文";
yuwen.Score = ;
zhangsan.Add(yuwen); Courses dili = new Courses();
dili.Course = "地理";
dili.Score = ;
zhangsan.Add(dili); return zhangsan;
} /// <summary>
/// 李氏的课程列表
/// </summary>
/// <returns></returns>
private static List<Courses> LiSi()
{
List<Courses> lisi = new List<Courses>();
Courses shuxue = new Courses();
shuxue.Course = "数学";
shuxue.Score = ;
lisi.Add(shuxue); Courses yingyu = new Courses();
yingyu.Course = "英语";
yingyu.Score = ;
lisi.Add(yingyu); Courses yuwen = new Courses();
yuwen.Course = "语文";
yuwen.Score = ;
lisi.Add(yuwen); Courses dili = new Courses();
dili.Course = "地理";
dili.Score = ;
lisi.Add(dili); return lisi;
} /// <summary>
/// 王武的课程列表
/// </summary>
/// <returns></returns>
private static List<Courses> WangWu()
{
List<Courses> wangwu = new List<Courses>();
Courses shuxue = new Courses();
shuxue.Course = "数学";
shuxue.Score = ;
wangwu.Add(shuxue); Courses yingyu = new Courses();
yingyu.Course = "英语";
yingyu.Score = ;
wangwu.Add(yingyu); Courses yuwen = new Courses();
yuwen.Course = "语文";
yuwen.Score = ;
wangwu.Add(yuwen); return wangwu;
} /// <summary>
/// 赵刘的课程列表
/// </summary>
/// <returns></returns>
private static List<Courses> ZhaoLiu()
{
List<Courses> zhaoliu = new List<Courses>();
Courses shuxue = new Courses();
shuxue.Course = "数学";
shuxue.Score = ;
zhaoliu.Add(shuxue); Courses yingyu = new Courses();
yingyu.Course = "英语";
yingyu.Score = ;
zhaoliu.Add(yingyu); Courses yuwen = new Courses();
yuwen.Course = "语文";
yuwen.Score = ;
zhaoliu.Add(yuwen); return zhaoliu;
}
/// <summary>
/// 得到学生列表数据
/// </summary>
/// <returns></returns>
public static List<Students> GetStudentLists()
{
List<Students> studentLists = new List<Students>();
studentLists.Add(new Students()
{
Name = "张山",
Age = ,
Sex = "男",
CoursesLists = ZhangSan()
});
studentLists.Add(new Students()
{
Name = "李氏",
Age = ,
Sex = "女",
CoursesLists = LiSi()
});
studentLists.Add(new Students()
{
Name = "王武",
Age = ,
Sex = "男",
CoursesLists = WangWu()
});
studentLists.Add(new Students()
{
Name = "赵刘",
Age = ,
Sex = "女",
CoursesLists = ZhaoLiu()
}); return studentLists;
} /// <summary>
/// Silverlight页面初始化
/// </summary>
public DataGridMergeRows()
{
InitializeComponent();
dataGrid.ItemsSource = GetStudentLists();
}
以下是Silverlight UI页面代码
<sdk:DataGrid x:Name="dataGrid" HorizontalAlignment="Center" AutoGenerateColumns="False" Height="" Margin="10,0,0,0" VerticalAlignment="Top" Width="">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="姓名" Binding="{Binding Name}" IsReadOnly="True" Width=""/>
<sdk:DataGridTextColumn Header="性别" Binding="{Binding Sex}" IsReadOnly="True" Width=""/>
<sdk:DataGridTextColumn Header="年龄" Binding="{Binding Age}" IsReadOnly="True" Width=""/> <sdk:DataGridTemplateColumn Header="课程" IsReadOnly="True" Width="" >
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding Path=CoursesLists}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border MinHeight="" BorderThickness="0,0,0,1" Margin="0,0,0,-1" BorderBrush="#FFC9CACA">
<TextBlock Text="{Binding Path=Course}" VerticalAlignment="Center" Margin="" HorizontalAlignment="Left" TextWrapping="NoWrap"/>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn> <sdk:DataGridTemplateColumn Header="成绩" IsReadOnly="True" Width="" >
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding Path=CoursesLists}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border MinHeight="" BorderThickness="0,0,0,1" Margin="0,0,0,-1" BorderBrush="#FFC9CACA">
<TextBlock Text="{Binding Path=Score}" VerticalAlignment="Center" Margin="" HorizontalAlignment="Left" TextWrapping="NoWrap"/>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn> </sdk:DataGrid.Columns>
</sdk:DataGrid>
Silverlight的DataGrid合并单元格的更多相关文章
- JS实现EasyUI ,Datagrid,合并单元格功能
为了实现datagrid的合并单元格效果,datagrid的数据加载方式肯定是要写在JS文件内部的. 一:在JS内部添加Datagrid数据加载方法如下: $("#id").dat ...
- easyui datagrid 合并单元格
整理以前做的东西,这个合并单元格的问题再新浪博客也写过了..... 下面这段代码是列表数据 //载入排放系数管理报表数据 function LoadEmissionReportData() { //获 ...
- WPF DataGrid 合并单元格
在网上搜索wpf合并单元格,一直没搜索到,没办法,只能自己想办法搞定了.其实就是DataGrid套DataGrid,为了方便支持Column拖动,在合并的DataGridColumn那一列的Heade ...
- DataGrid合并单元格(wpf)
在网上搜索wpf合并单元格,一直没搜索到,没办法,只能自己想办法搞定了.其实就是DataGrid套DataGrid,为了方便支持Column拖动,在合并的DataGridColumn那一列的Heade ...
- C# DataGrid合并单元格
1.栏位枚举 private enum DataGridColumn { ROWNUM = , EMPID, EMPNAME, SEX, SALARY, ADRRESS, PHONE, TEL, PO ...
- 【原创】有关Silverlight中“DataGrid中单元格动态绑定ComboBox单击时数据项莫名被清除 ”的解决方案及思路。
今天上班遇到一个很古怪的问题,搞了半天愣是没找到原因.是这样的,在Datagrid中有绑定一个ComboBox列,其不包含在 model数据中,而是单独在LoadingRow事件中去 从数据库拿数据绑 ...
- 基于EasyUi的datagrid合并单元格JS写法
$('#dg').datagrid({ width: 'auto', height: 'auto', scrollbarSize: , queryParams: {}, url: 'kkkk', co ...
- Merge Cells for DataGrid 合并单元格
只适合不分页的固定行列的表格 <script type="text/javascript"> function onLoadSuccess(data){ var mer ...
- JQuery EasyUI DataGrid动态合并单元格
/** * EasyUI DataGrid根据字段动态合并单元格 * @param fldList 要合并table的id * @param fldList ...
随机推荐
- Bootstrap 组件之 Navbar
一.简介 Navbar 指导航条,它在移动设备上显示为折叠状态,在宽屏幕上水平展开.这里 是一个线上例子. 响应式导航条依赖 collapse 插件,定制 Bootstrap 时务必要包含. {设备的 ...
- SpringMVC中重定向底层原理
只要将数据放入model中, 也能取到值,原因是model临时放入session域中,当从定向到另一个url时,底层把数据拼接在url地址后面(重定向一定是get请求方式),同时将session域 ...
- 获取 metadata 的完整例子 - 每天5分钟玩转 OpenStack(166)
我们将通过实验详细分析 instance 从 nova-api-metadata 获取信息的完整过程. 环境介绍 1. 一个 all-in-one 环境(多节点类似). 2. 已创建 neutron ...
- CCNA网络工程师学习进程(10)NAT的配置
NAT(Network Address Translation,网络地址转换)是将IP 数据包头中的IP 地址转换为另一个IP 地址的过程. (1)NAT简介: 在实际应用中,NAT ...
- 使用Docker容器来源码编译etcd
背景 etcd是CoreOS公司开发的分布式键值对存储库.在Kubernetes中,我们需要使用etcd作为所有REST API对象的持久化存储. 不幸的是,在github的release中,Core ...
- css grid布局的首次使用
首先来看一下效果图 接下来废话不多说,先上代码 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- Xmpp实现简单聊天系列 --- ①openfire部署
1. 下载最新的openfire安装文件 官方下载站点:http://www.igniterealtime.org/downloads/index.jsp#openfire 2. 下载完成后,执行你的 ...
- ubuntu 12.04 x86_64:java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons
sy@sy-Aspire-:~$ .0_155965261/configuration/.log !SESSION -- ::39.595 ------------------------------ ...
- user-modify属性,让html标签可以编辑
其实这只是一个很小的需求,但是写着写着发现干货越来越多,所以特意给大家分享一下. 项目需要做一个类似QQ聊天输入的效果 有的同学说,这不是很简单吗?一开始我也这么感觉 :) 观察需求 1.整体固定在底 ...
- 看Lucene源码必须知道的基本规则和算法
上中学的时候写作文,最喜欢的季节我都是写冬天.虽然是因为写冬天的人比较少,那时确实也是对其他季节没有什么特殊的偏好,反而一到冬天,自己皮肤会变得特别白.但是冬天啊,看到的只有四季常青盆栽:瓜栗(就是发 ...