Wpf DataGrid的数据绑定

53 篇文章 3 订阅

在项目开发的过程,通常会遇到一些表格数据的绑定,因为没有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;

    }

效果如下:
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光怪陆离的节日

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值