注意:

  1. DataGrid用于多行数据的展示和编辑,ItemsSource用来设定显示的数据源。控件默认自动创建列,AutoGenerateColumns="False"设置为不自动生成列。
  2. 手动向columns中增加列,常用的列类型为:DataGridTextColumn ,Header 设定标题,Bing 属性为列绑定的数据。
  3. Datagrid默认所有列是可以编辑的,若Mode=TwoWay那修改后数据源就会变化;可是只为只读模式IsReadOnly=false
  4. 不想自动新增行则设置CanUserAddRows=“False”

第一步:新建窗体DataGridWindow.xaml拖动一个DataGrid命名为dg1。

第二步:使用ListBox实例中的Student类

第三步:为DataGridWindow窗体添加loaded事件,代码如下

1  private void Window_Loaded(object sender, RoutedEventArgs e)
2         {
3             List<Student> list = new List<Student>();
4             list.Add(new Student(){ Name = "张三", Age = 15, Score = 60 ,Gender=false,ClassName="一班"});//若存在无参的构造函数则是要有小括号的。
5             list.Add(new Student { Name = "李四", Age = 19, Score = 80 ,Gender=true,ClassName="一班"});
6             list.Add(new Student { Name = "王五", Age = 20, Score = 90, Gender=false,ClassName="二班"});
7             //关联list控件lbStudent和list中的Item,ListBox显示的集合是ItemsSource属性,不是DataContext
8             dg1.ItemsSource = list;

第三步:设置DataGrid中的属性,如下

1 <DataGrid AutoGenerateColumns="True" Height="101" HorizontalAlignment="Left" Margin="12,12,0,0" Name="dg1" VerticalAlignment="Top" Width="254" ></DataGrid>
2         <DataGrid AutoGenerateColumns="False" Height="130" HorizontalAlignment="Left" Margin="12,119,0,0" Name="dg2" VerticalAlignment="Top" Width="254" CanUserAddRows="False">
3             <DataGrid.Columns>
4                 <DataGridTextColumn Binding="{Binding Name}" Header="姓名"></DataGridTextColumn>
5                 <DataGridCheckBoxColumn Binding="{Binding Gender}" Header="性别" IsReadOnly="True"></DataGridCheckBoxColumn>
6                 <DataGridComboBoxColumn SelectedItemBinding="{Binding ClassName}" x:Name="colClassName"></DataGridComboBoxColumn>
7             </DataGrid.Columns>
8         </DataGrid> 

再次在Window_Loaded中加入如下代码,使得班级出现下拉列表。

1          List<string> className=new List<string>();
2             className.Add("一班");
3             className.Add("二班");
4             className.Add("三班");
5        colClassName.ItemsSource=className;  //通过为列所起的名字来赋值  

第四步:测试完成。

转载于:https://www.cnblogs.com/qiushuixizhao/archive/2013/05/28/3103833.html

DataGrid多行数据的展示和编辑(6)相关推荐

  1. easyui datagrid 每行数据添加 按钮

    今天做项目的时候,想在easyui的datagrid每一列数据后边都加上一个操作按钮,一开始想在后台拼接字符串用JSON传回,但是我测试之后发现这个方法不管用,在网上搜索了一下,整理如下: 其实要加一 ...

  2. EasyUI的datagrid每行数据添加操作按钮的方法

    在js声明datagrid的时 {field:'operate',title:'操作',align:'center',width:$(this).width()*0.1,formatter:funct ...

  3. C# .net GridView编辑行数据

    C# .net GridView编辑行数据 比较原始的编辑功能,只能在数据量小的时候用,数据一多体验就很不好,但还是记录一下吧. 原理就是用label和textbox两个控件绑定同一列数据,点编辑就显 ...

  4. Qt读写JSON,以及使用QTreeView展示和编辑JSON数据

    0.前言 JSON(JavaScript Object Notation)是一种轻量级的结构化数据格式,相对于XML语法更简洁.它具有6种基本数据类型:bool(true或false字符串表示).do ...

  5. 【easyui】easyui datagrid加载成功之后选定并获取首行数据

    //加载成功之后,选定并获取首行数据 onLoadSuccess:function(data){ alert("grid加载成功");var rows=$('test').data ...

  6. Saiku设置展示table数据不隐藏空的行数据信息(二十六)

    Saiku设置展示table数据不隐藏空的行数据信息 saiku有个 非空的字段 按钮,点击这个后,会自动的把空的行数据信息给隐藏掉,这里我们来设置一下让其行数据不隐藏,为空的就为空. 主要更改两个文 ...

  7. V3.0element中table表格树形结构与懒加载通过接口获取展开行数据,并实现自动展开某行以及展开行数据删除,编辑,新增,展开行某些列不显示等功能

    1.获取列表后自动展开第一行,以及列表序号的显示 需要展开哪行,就赋值 expandsId 某行id 值就行了 2.展开某行时通过接口获取子行数据,一般需求是通过父行的id,来获取他的子行数据--lo ...

  8. 实现输入框小数多 自动进位展示,编辑时实际值不变

    今天遇到个业务需求,要求输入框,输入数字的小数位数可以很多位,但移开后显示,只显示小数点后两位 (四舍五入),当要编辑的时候,展现其原来的输入数据. 闲话不多说,当时也考虑用第三方插件,但感觉对现有框 ...

  9. 在GridControl表格控件中实现多层级主从表数据的展示

    在一些应用场景中,我们需要实现多层级的数据表格显示,如常规的二级主从表数据展示,甚至也有多个层级展示的需求,那么我们如何通过DevExpress的GridControl控表格件实现这种业务需求呢?本篇 ...

最新文章

  1. Zabbix监控MongoDB
  2. == Equals ReferenceEquals 的区别
  3. RabbitMQ之消息确认机制(事务+Confirm)
  4. Dictionary泛型集合
  5. KubeSphere 使用外置 Jenkins
  6. 参观北京移动信息港森华易腾机房
  7. 003-神经网络基础-最优化,前向传播,反向传播
  8. 为资产分类定义折旧范围_固定资产分类标准及折旧方法5
  9. snakeyaml jyaml 哪个好_lol手游哪个英雄可玩性高 英雄联盟手游英雄强度排行
  10. 程序员应该阅读的非编程类书籍有哪些?
  11. MapGIS格式转ArcGIS方法
  12. 第六章 (数据库) 第3节 数据库高级
  13. 操作系统课程设计 Pintos 1 ALarm Clock 问题
  14. 关于『HTML』:第三弹
  15. 裁判文书android app逆向
  16. 50家大厂面试万字精华总结,面试的时候突然遇到答不上的问题怎么办?分享一点面试小经验
  17. eventhandler java_事件驱动模型的简单Java实现
  18. js中词法分析学习笔记
  19. EMNLP-21-Learning from Noisy Labels for Entity-Centric Information Extraction-noise label
  20. android 清空画布内容,Android,canvas:如何清除(删除)位于surfaceView中的画布(=位图)的内容?...

热门文章

  1. leetcode 之Single Number(13)
  2. Eclipse自动代码补全
  3. mac 环境变量设置
  4. CentOS 6.5 初始值
  5. 更改一字段的全部字节的大小写
  6. 输入URL到浏览器显示页面的过程,搜集各方面资料总结一下
  7. Netty 系列三(ByteBuf).
  8. python学习之正则表达式练习:编写一个计算器
  9. 提升领导力 六商是基础
  10. 抽象代数的抽象方法本质