WPF DataGrid 绑定DataSet数据 自动生成行号

摘要:
如果DataGrid同时包含自动生成列和用户定义列,则首先创建用户定义列。

1、绑定数据:dataGrid1.ItemsSource = dataSet.Tables[0].DefaultView;

注意:在创建DataGrid 时可以通过AutoGenerateColumns 属性设置列是否自动生成,从而加入自定义列。如果DataGrid 中同时包含“自动生成列”与“用户自定义列”,则首先创建“用户自定义列”。DataGrid 支持的四种列及其数据类型见下表:

WPF DataGrid 绑定DataSet数据 自动生成行号第1张

DataGrid绑定列名、数据列代码:

 1            <DataGrid.Columns>
 2                 <DataGridTextColumn Header="客户编码" Binding="{Binding CustomerCode}"/>
 3                 <DataGridTextColumn Header="客户名称" Binding="{Binding CustomerName}"/>
 4                 <DataGridTextColumn Header="证件号码" Binding="{Binding CardID}"/>
 5                 <DataGridTextColumn Header="固定电话" Binding="{Binding Phone}"/>
 6                 <DataGridTextColumn Header="移动电话" Binding="{Binding MobilePhone}"/>
 7                 <DataGridTextColumn Header="电子邮件" Binding="{Binding Email}"/>
 8                 <DataGridTextColumn Header="QQ" Binding="{Binding QQ}"/>
 9                 <DataGridTextColumn Header="联系地址" Binding="{Binding Address}"/>
10             </DataGrid.Columns>

简单的数据显示可以在sql语句中将字段名另存在(as)中文列名,直接在DataGrid中作为列名使用。

2、自动生成行号(关键是最后一句):

 1         private void Window_Loaded(object sender, RoutedEventArgs e)
 2         {
 3             LoadDataGrid();
 4         }
 5         
 6         private void LoadDataGrid()
 7         {
 8             dataGrid1.ItemsSource = UserDAL.GetUserDataSet().Tables[0].DefaultView;//读取用户并刷新datagrid
 9              dataGrid1.LoadingRow += new EventHandler<DataGridRowEventArgs>(dataGrid_LoadingRow);
10         }
11         
12         public void dataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
13         {
14             e.Row.Header = e.Row.GetIndex() + 1;
15         }

免责声明:文章转载自《WPF DataGrid 绑定DataSet数据 自动生成行号》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇第14课 移动语义(std::move)移动三“.NET研究”国己然鼎立,普​通开发者如何选择开发​平台? 狼人:下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

让WPF的Popup不总置顶的解决方案

使用WPF的Popup的时候会发现有一个问题,它总是会置顶,只要Popup的StayOpen不设置为False,它就一直呆在最顶端,挡住其他的窗口。 解决方案是继承Popup重新定义控件PopupEx。 public class PopupEx : Popup    {        public static DependencyProperty Top...

WPF笔记(3)TreeView

TreeView表示的是层次化结构(hierarchical)数据。TreeView的每一项称为TreeViewItem。TreeViewItem既可以被定义成一个字符串,也可以是一个嵌套的Item对象集合。TreeView的类层次结构如下: ControlItemsControlHeaderedItemsControlMenuItemToolBarTre...

Wpf 自定义控件(1)

1. 新建一个wpf工程,在工程下面新建  一个文件夹themes,在themes下新建两个资源字典文件generic.xaml和PrettySeekBar.xaml generic.xaml   <ResourceDictionary xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/pr...

跟着病毒学技术--学习WannaCry自己实现LoadLirbrary

最近逆了一下WannaCry病毒,发现里边加载动态库是自己实现的,所以我也学着实现了一下。 0x001 读取动态库到内存 首先,需要将目标动态库读取的到内存,然后再进行下一步工作。 HANDLE hDll = CreateFile(L"..//Debug//TestDll.dll", GENERIC_READ, FILE_SHARE_READ...

JqueryEasyUI 解决IE下datagrid无法刷新的问题

问题描述: 在使用JqueryEasyUI 时,发现在IE下$('#table').datagrid('reload');无效,数据并没有被刷新,究其原因,是因为刷新时,datagrid请求的url没有变化,IE就从浏览器缓存里取数据了,返回的是302响应码。 解决办法: 在$('#table').datagrid('reload');前修改$('#tab...

cmake编译多个文件

demo.h #ifndef UNTITLED_HEADER_DEMO_H #define UNTITLED_HEADER_DEMO_H void printHello(char *name); #endif //UNTITLED_HEADER_DEMO_H demo.c // // Created by gxf on 2020/2/6. // #i...