没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
















1.数据绑定
2.DataGrid 的增改删功能
3.DataGrid 的分页实现
4.DataGrid 的样式设计
先上一张截图,让你大概知道自己需要的功能是否在这张图里有所实现。
PS:使用技术:WPF + ADO.NET Entity Framework
1.数据绑定(涉及 DataGrid 绑定和
Combox 绑定)
在 DataGrid 中同时包含“自动生成列”与“用户自定义列” 由属性 AutoGenerateColumns 控
制。
默认情况下, DataGrid 将根据数据源自动生成列。 下图列出了生成的列类型。

如果 AutoGenerateColumns="True" ,我们只需要如下几行代码
<DataGrid Name="dataGrid1" AutoGenerateColumns="True" />
后台 dataGrid1.ItemsSource = infoList; //infoList 为内容集合(这是我从数据库中获取的记
录集合 类型为 List<T>)
PS:因为这里给 dataGrid1 绑定了数据源,所以下面绑定的字段都是 infoList 中的字段名
称,同样也对应着我数据表中的字段名。里面包含 FID,公司名称,职员姓名,性别,年龄,
职务。解释下,怕大家无法理解 Binding 后面的值是如何来的了
显然这种数据绑定非常的容易,如果对表格要求不高,这中无疑是最简单方便的。
如果 AutoGenerateColumns="False" 表格字段的显示就要靠我们手动去完成了。这个也是
数据绑定的重点,因为实际应用中我们大多都是自定义去完成 DataGrid 的数据绑定。
接下来贴出代码(后面的所有功能都可以在此代码基础上添加和修改)
[html] view plaincopyprint?
1. <Window'x:Class="CSDN_C.MainWindow"''
2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"''
3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"''
4. xmlns:assembly="clr-namespace:System;assembly=mscorlib"'''
5. xmlns:local="clr-namespace:Demo"'''
6. Title="MainWindow"''Loaded="Window_Loaded">''
7. <Window.Resources>''

8. ''<ObjectDataProvider'x:Key="keySex"'MethodName="GetValues"'ObjectTy
pe="{x:Type'assembly:Enum}">''
9. ''''<ObjectDataProvider.MethodParameters>''
10. ''''''<x:Type'Type="local:Sex"></x:Type>'''<!--引用后台的枚举类型,为字段
‘性别’提供数据源。上面引用了命名空间 Demo-->''
11. ''''</ObjectDataProvider.MethodParameters>''
12. ''</ObjectDataProvider>''
13. </Window.Resources>''
14. ''
15. <Grid>'''
16. ''<DataGrid'Name="dataGrid1"''AutoGenerateColumns="False">''
17. ''''<DataGrid.Columns>''
18. ''''''<DataGridTemplateColumn'Header="操作"'Width="40">''
19. ''''''''<DataGridTemplateColumn.CellTemplate>''
20. ''''''''''<DataTemplate>''
21. ''''''''''''<CheckBox'></CheckBox>''
22. ''''''''''</DataTemplate>''
23. ''''''''</DataGridTemplateColumn.CellTemplate>''
24. ''''''</DataGridTemplateColumn>''
25. ''''''<DataGridTextColumn'Header="公司名称"'Width="80"'Binding="{Binding'
公司名称,'Mode=TwoWay,'UpdateSourceTrigger=PropertyChanged}"/>''
26. ''''''<DataGridTextColumn'Header="姓名"'Width="80"'Binding="{Binding'职
员姓名,'Mode=TwoWay,'UpdateSourceTrigger=PropertyChanged}"/>''
27. ''''''<DataGridComboBoxColumn'Header="sex"'SelectedItemBinding="{Bind
ing'性别}"'ItemsSource="{Binding'Source={StaticResource'keySex}}"/>''
28. ''''''<!--Combox 绑定,获取上面定义的资源 keySex.绑定性别-->''
29. ''''''<DataGridTextColumn'Header="年龄"'Width="80"'Binding="{Binding'年
龄,'Mode=TwoWay,'UpdateSourceTrigger=PropertyChanged}"/>''
30. ''''''<DataGridTextColumn'Header="职务"'Width="80"'Binding="{Binding'职
务,'Mode=TwoWay,'UpdateSourceTrigger=PropertyChanged}"/>''
31. ''''</DataGrid.Columns>''
32. ''</DataGrid>''
33. </Grid>''
34. </Window>''

后台
[csharp] view plaincopyprint?
1. 'namespace'Demo{''
2. ///'<summary> ''
3. ///'MainWindow.xaml'的交互逻辑 ÁÁ
4. ///'</summary> ''
5. public'enum'Sex'{'男,女Á};''//注意Á写在命名空间内Á,不要写在类里,否则台前
local:Sex 找不到路径 ÁÁ
6. ''
7. }''
当我们绑定好数据运行程序的时候,会发现 DataGridComboBoxColumn 下拉框里虽然
绑定了值,但是他不会默认显示出已经设定好的值。所以我们就可以摈弃这种现有的
DataGridComboBoxColumn,我们用 DataGrid 样板标签 DataGridTemplateColumn。
我们在 DataGridTemplateColumn 标签里要用到 2 个控件,一个 TextBlock 控件来显示内
容,另一个 ComBox 来提供选择。
剩余16页未读,继续阅读

huangsefengy
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
- 4
前往页