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 ...
随机推荐
- 设置border属性变化不同形状:三角形、圆形、弧形 2017-03-20
一.通过设置边框----正方形.三角形 <style> .c{ height: 0px; width: 0px; border-top: 50px solid red; border-ri ...
- 用js写倒计时,向列表添加数据-------2017-03-21
一.单选按钮确定提交是否可用 <input id="a" type="radio" name="a" onclick="c ...
- 使用CEF(CEFGLUE)作为您的客户端UI(一)
背景: 本人是一名C#开发者,而作为C#开发者,做客户端应用中最头痛的一件事就是没有一个好的UI解决方案.WinFrom嘛,效率虽然还不错,但是做一些特殊的效果,完全应付不来,比如透明控件.比FPS太 ...
- postman定义公共函数
对于postman定义公共函数,相信很多小伙伴并不是很了解,下面给大家带来了一点福利,一起来看看吧.1.判断是否超时(assertNotTimeout)
- 车大棒浅谈jQuery源码(一)
背景 因为最近辞职找工作,投了许多家公司.结果简历要么石沉大海,一点音讯都没有,要么就是邮件回复说不匹配.后面加了一些QQ群,才发现原来我工作经验年限太少了.现在深圳都是3经验起步,北京据说更加恐怖. ...
- CSS左侧固定宽 右侧自适应(兼容所有浏览器)
左侧固定宽,右侧自适应屏幕宽: 左右两列,等高布局: 左右两列要求有最小高度,例如:200px;(当内容超出200时,会自动以等高的方式增高) 要求不用JS或CSS行为实现: 仔细分析试题要求,要达到 ...
- 在腾讯云上把Laravel整合万向优图图片管理能力,打造高效图片处理服务
推荐理由: 现如今数据爆炸性增长,人类生活产出的数据越来越多,文字信息,图片信息,视频信息:但有很多信息我们都无法直接使用,需通过一定的处理,才能够获取其中对我们有用的信息,在腾讯云上的万向优图能够对 ...
- Tcl与Design Compiler (九)——综合后的形式验证
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 这里来讲一下forma ...
- java实现8种排序算法(详细)
八种排序分别是:直接插入排序.希尔排序.冒泡排序.快速排序.直接选择排序.堆排序.归并排序.基数排序. 希尔排序在时间性能上优于直接插入排序,但希尔排序是一种不稳定排序. 快速排序的时间性能也优于冒泡 ...
- javaWEB与EL表达式
EL表达式1. EL是JSP内置的表达式语言! * jsp2.0开始,不让再使用java脚本,而是使用el表达式和动态标签来替代java脚本! * EL替代的是<%= ... %>,也 ...