csharp: Data binding in WPF DataGrid control

2023-10-31

<Window x:Class="WpfProjectDemo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525" xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol">
    <Grid>
        <DataGrid AutoGenerateColumns="False" Height="59" HorizontalAlignment="Left" Margin="50,39,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="272" MinRowHeight="20" MinHeight="10" Loaded="dataGrid1_Loaded">
        <DataGrid.Columns>
                <DataGridTextColumn Binding="{Binding Path=id}" Header="序号" FontWeight="Bold"/>
                <DataGridTextColumn Binding="{Binding Path=name}" Header="姓名"/>

        </DataGrid.Columns>
         </DataGrid>
        <DataGrid AutoGenerateColumns="False" Height="112" HorizontalAlignment="Left" Margin="47,148,0,0" Name="dataGrid2" VerticalAlignment="Top" Width="326" Loaded="dataGrid2_Loaded">
            <DataGrid.Columns>
                <DataGridTextColumn Binding="{Binding Path=ID}" Header="序号" FontWeight="Bold"/>
                <DataGridTextColumn Binding="{Binding Path=Name}" Header="姓名"/>
                <DataGridTextColumn Binding="{Binding Path=BookTitle}" Header="书藉名称" FontWeight="Bold"/>
                <DataGridTextColumn Binding="{Binding Path=CreatDate}" Header="创作日期"/>
                <DataGridTextColumn Binding="{Binding Path=IsMVP}" Header="是否MVP" FontWeight="Bold"/>
                
            </DataGrid.Columns>


        </DataGrid>
        
    </Grid>
</Window>


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;

namespace WpfProjectDemo
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        DataTable setData()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("id", typeof(int));
            dt.Columns.Add("name", typeof(string));
            dt.Rows.Add(1, "geovindu");
            dt.Rows.Add(2, "涂聚文");
            return dt;
        }


        /// <summary>
        /// 
        /// </summary>
        public MainWindow()
        {
            InitializeComponent();
            
        }


        /// <summary>
        /// List of Authors
        /// </summary>
        /// <returns></returns>
        private List<Author> LoadCollectionData()
        {
            List<Author> authors = new List<Author>();
            authors.Add(new Author()
            {
                ID = 101,
                Name = "Geovin Du",
                BookTitle = "Graphics Programming with GDI+",
                CreatDate = new DateTime(1975, 2, 23),
                IsMVP = false
            });
            authors.Add(new Author()
            {
                ID = 201,
                Name = "涂聚文",
                BookTitle = "Programming C#",
                CreatDate = new DateTime(1982, 4, 12),
                IsMVP = true
            });
            authors.Add(new Author()
            {
                ID = 244,
                Name = "塗聚文",
                BookTitle = "LINQ in Vista",
                CreatDate = new DateTime(1985, 9, 11),
                IsMVP = true
            });
            return authors;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGrid1_Loaded(object sender, RoutedEventArgs e)
        {
           // var grid = sender as DataGrid;
           // grid.ItemsSource = LoadCollectionData();
           //this.dataGrid1.ItemsSource = LoadCollectionData();
           this.dataGrid1.ItemsSource = setData().DefaultView;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGrid2_Loaded(object sender, RoutedEventArgs e)
        {
            this.dataGrid2.ItemsSource = LoadCollectionData();
        }


    }



    public class Author
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public DateTime CreatDate { get; set; }
        public string BookTitle { get; set; }
        public bool IsMVP { get; set; }
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

csharp: Data binding in WPF DataGrid control 的相关文章

随机推荐

  • 计算机信息技术的具体应用案例,信息技术应用 用计算机画函数图象教学设计案例...

    徐敏 地区 北京市 北京市 海淀区 学校 北京市永定路中学 共1课时 信息技术应用 用计算机画函数图象 gt 信息技术应用 用计算机 初中数学 人教2011课标版 1教学目标 知识目标 1 理解一次函数和正比例函数的概念 2 根据实际问题列
  • spring boot 整合 swagger2,并设置post,get请求方式

    1 pom添加依赖
  • TCP协议常见的端口

    服务器的端口分类很多 如果根据所提供的服务方式来划分 服务器端口可分为 TCP协议端口 和 UDP协议端口 两种 而采用TCP协议的是一种直接与接收方进行的连接 发送信息以后 可以确认信息是否到达的方式 随着计算机网络技术的不断进步与发展
  • 成功解决:AssertionError: Torch not compiled with CUDA enabled

    在运行pycharm项目的时候 出现了以上的报错 主要可以归结于以下两个个方面 1 没有安装GPU版本的pytorch 只是使用清华的镜像地址下载了CPU版本的pytorch 2 安装的CUDA和安装的pytorch的版本不相互对应 我使用
  • Qt实现多窗体编程

    在学习多窗体编程时 遇到许多的问题以及错误 对搜到的教程一知半解并且遇到好多的将源码放到csdn下载上这种让人很难受的操作 因此写下此博客 记录一下遇到的问题 一 新建窗体 首先 多窗体编程意味着你必须有两个或更多的窗体 因此需要新建窗体
  • 从gitLab拉取java项目

    1 配置好git 百度安装 2 下载代码 2 1在本地文件夹中建个目录 然后文件夹中空白地方右键 选择 git bash here 2 2 在git中执行 git clone b main http git lab com ywdj bac
  • windows 打开方式 其他程序不可用

    文章目录 HKEY CURRENT USER Software Microsoft Windows CurrentVersion Explorer FileExts doc 此处对应当前的文件后缀 此处以 doc为例 删除 OpenWith
  • exchange删除邮件

    一 批量删除特定主题的邮件1 1 批量删除所有数据库中特定主题的邮件1 群发了几封主题为 backup 的邮件 2 当前操作账号需要满足如下需求 a 该账号需属于Exchange Server 管理员角色以及源服务器和目标服务器的本地 Ad
  • (三)克隆CentOS7虚拟机,并配置网络环境

    文章目录 1 配置好一个配置好网络环境的虚拟主机 2 设置一个快照 3 开始克隆虚拟主机 4 配置克隆后的虚拟主机的网卡 4 1 配置服务器主机别名 4 2 添加映射关系 4 3 配置ip地址 4 3 1 先查看网卡情况 4 3 2 激活网
  • linux复制粘贴技巧

    目录 一 文件复制 二 文字复制 总结 一 文件复制 虚拟机文件复制需要安装VMware Tools工具 虚拟机中的VMware Tools安装位置如下 具体安装操作见其他文章 拖拽方式实现 鼠标左键按住虚拟机的文件夹或文件 移动鼠标到主机
  • java水仙花数(详解)

    水仙花数 就是 有一个三位数 它的每一位上的数字的平方的和等于它本身 例如 153 1 1 5 5 3 3 也就是int i a a a b b b c c c 底层逻辑清楚了 代码也就清楚了 如下 public class shuixia
  • idea服务器与项目连接数据库连接,idea和服务器连接数据库连接

    idea和服务器连接数据库连接 内容精选 换一换 用户通过psycopy2连接GaussDB for openGauss 服务器时 可以通过开启SSL加密客户端和服务器之间的通讯 在使用SSL时 默认用户已经获取了服务端和客户端所需要的证书
  • 浅析互联网+的定义及核心

    互联网 和O2O在本质上十分接近 都是强调互联网 Online 与实体经济 Offline 融合互动并促进后者的转型升级 但 互联网 被赋予了更广的意义 从现状来看 互联网 处于初级阶段 是个都在热谈但是没有落实的理论阶段 各领域针对 互联
  • 基础数学知识

    1 希尔伯特空间是欧几里得空间的推广 即希尔伯特空间不再局限于有限维的情形而是无限维的欧几里得空间 向量内积 点乘 和外积 叉乘 的区别 https www cnblogs com gxcdream p 7597865 html 2 张量积
  • transE

    文章来源 http chuansong me n 2553541 我们为什么要关注表示学习这个问题呢 我们可以看关于机器学习的一个重要公式 这个公式有三个部分组成 第一部分是关于数据或者问题的表示 在表示的基础上我们要去设计或者构建一个目标
  • c++中的智能指针unique_ptr中get()的用法

    bar是一个智能指针 p是一个普通指针 p bar get 后 bar并非被释放 也就相当于指针p和智能指针bar共同管理一个对象 所以就 p做的一切 都会反应到bar指向的对象上
  • python实现人脸关键部位检测(附源码)

    人脸特征提取 本文主要使用dlib库中的人脸特征识别功能 dlib库使用68个特征点标注出人脸特征 通过对应序列的特征点 获得对应的脸部特征 下图展示了68个特征点 比如我们要提 取眼睛特征 获取37到46这几个特征点即可 在代码中增加类似
  • 非对称式加密(RSA算法案例)

    一 非对称式加密 非对称密码指的是加密和解密使用的不是相同的钥匙 用户A密钥加密后的信息只有他自己用解密密钥才能解密 如果知道了其中一个密钥 并不能计算另一个 因此公开一对密钥中的一个 并不会危害到另一个的秘密性质 我们将公开是密钥称为公钥
  • Altium Designer 3D封装下载及导入教程

    本帖最后由 绝影 于 2013 9 27 17 01 编辑 首先 先晒几个图 是不是很逼真啊 教程 我们常用的3D封装可以在这个网站下载 http www 3dcontentcentral cn Search aspx arg 0805 下
  • csharp: Data binding in WPF DataGrid control