在项目开发的过程,通常会遇到一些表格数据的绑定,因为没有WPF的开发经验所以一边摸索一边开发,所幸WPF的上手难度不大,开发过程较为顺利。不过在使用DataGrid的时候还是遇到了一点阻绊遇。所以在这里讲一下这个DataGrid应该怎么用,以及要注意的事情。
DataGrid是个非常实用的控件,可以用来展示及获取较为复杂的数据结构。
要在WPF下使用DataGrid并绑定数据,大致操作如下:
1、在资源视图xml文件中添加DataGrid,并设置绑定,如下。
<Window x:Class=“Wpfdemo.Window1”
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Wpfdemo"
mc:Ignorable="d"
Title="Window1" Height="300" Width="300">
<Grid>
<DataGrid AutoGenerateColumns="False" HorizontalAlignment="Stretch" Margin="5,5" Name="dataGrid1" VerticalAlignment="Stretch" ItemsSource="{Binding}" HorizontalGridLinesBrush="Gainsboro" VerticalGridLinesBrush="Gainsboro">
<DataGrid.Columns>
<DataGridTextColumn Header=" ID " Binding="{Binding ID}" ></DataGridTextColumn>
<DataGridTextColumn Header="姓 名" Width ="100" Binding="{Binding Name}" ></DataGridTextColumn>
<DataGridTextColumn Header="电 话" Width ="100" Binding="{Binding PhoneNumber}" ></DataGridTextColumn>
<DataGridTextColumn Header="住 址" Width ="100" Binding="{Binding Address}" ></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
在初始化代码中设置DataGrid绑定到的对象。
{
public Window1()
{
InitializeComponent();
DataTable dt = new System.Data.DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("PhoneNumber", typeof(string));
dt.Columns.Add("Address", typeof(string));
DataRow row = dt.NewRow();
row["ID"] = 1;
row["Name"] = "张三";
row["PhoneNumber"] = "239456";
row["Address"] = "北京";
dt.Rows.Add(row);
row = dt.NewRow();
row["ID"] = 2;
row["Name"] = "李四";
row["PhoneNumber"] = "982089*5";
row["Address"] = "广东";
dt.Rows.Add(row);
//dataGrid1.DataContext = dt;
dataGrid1.ItemsSource = dt.DefaultView;
//设置网格线
dataGrid1.GridLinesVisibility = DataGridGridLinesVisibility.All;
}
效果如下: