1.前台代码:

插入一个datagrid控件,设置几列。

这里有两点要注意:

1)为了显示所要查询的日期,我将前台的列名与后台查询出来的日期绑定了,用了x:Name这个属性

2)与后台datatable绑定的方法为  Binding="{Binding dt定义的列名}"

<DataGrid AutoGenerateColumns="False" Height="" HorizontalAlignment="Left" Margin="219,174,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="" ItemsSource="{Binding}" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding 单位}" x:Name="danwei" FontSize="" Header="" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
<DataGridTextColumn x:Name="first" FontSize="" Binding="{Binding first}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
<DataGridTextColumn x:Name="second" FontSize="" Binding="{Binding second}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
<DataGridTextColumn x:Name="third" FontSize="" Binding="{Binding third}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
<DataGridTextColumn x:Name="fourth" FontSize="" Binding="{Binding fourth}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
<DataGridTextColumn x:Name="fifth" FontSize="" Binding="{Binding fifth}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
<DataGridTextColumn x:Name="sixth" FontSize="" Binding="{Binding sixth}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
<DataGridTextColumn x:Name="seventh" FontSize="" Binding="{Binding seventh}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
</DataGrid.Columns>
</DataGrid>

2.后台代码

1)根据x:Name传递给前台列名,这样显示出来的就是自己定义的日期

            danwei.Header = "单位";
first.Header = datePicker1.SelectedDate.Value.AddDays(-).ToString();
second.Header = datePicker1.SelectedDate.Value.AddDays(-).ToString();
third.Header = datePicker1.SelectedDate.Value.AddDays(-).ToString();
fourth.Header = datePicker1.SelectedDate.Value.AddDays(-).ToString();
fifth.Header = datePicker1.SelectedDate.Value.AddDays(-).ToString();
sixth.Header = datePicker1.SelectedDate.Value.AddDays(-).ToString();
seventh.Header = datePicker1.SelectedDate.Value.AddDays(-).ToString();

2)绑定列的数据,即通过dt定义的列名,将获得的数据传值到前台

            DataTable dt = new DataTable();
dt.Columns.Add("单位", typeof(string));
dt.Columns.Add("first", typeof(double));
dt.Columns.Add("second", typeof(double));
dt.Columns.Add("third", typeof(double));
dt.Columns.Add("fourth", typeof(double));
dt.Columns.Add("fifth", typeof(double));
dt.Columns.Add("sixth", typeof(double));
dt.Columns.Add("seventh", typeof(double));

3)给dt传递查询出来的数据  dt.Rows.Add(......)    注意:括号中的列数应该与刚刚定义的列数保持一致。

4)绑定数据  dataGrid1.ItemsSource = dt.DefaultView;

1、datatable与datagrid之间的绑定的更多相关文章

  1. wpf之DataGrid绑定DataTable,其中DataGridComboBoxColumn双向绑定枚举enum

    百度了快一天,没结果,除了几个原创的,都是复制粘贴的内容. 不想用别的笨办法,于是脑洞大开,想出了我的办法. 首先是前台代码,与网上的比较类似: xmlns:jz="clr-namespac ...

  2. 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(上)

    一.本程序的起源 当我决定去中科院实习的时候,我给刘奎恩老师发了封邮件.我对此事是非常看重的,因此经常使用浏览器,打开gmail去查看刘老师有没有给我回复.因为gmail的新邮件推送的功能仅限于打开浏 ...

  3. 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(下)

    一.我的需求 我希望做成具有以下功能的软件:1. 间隔一段时间登录我的邮箱查看是否有未读邮件 如果不断的运行查看是否有新邮件确实没多大必要. 另外如果这个客户端登录我的邮箱,那么我可能就不能用浏览器登 ...

  4. 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(中)

    这篇博客,主要讲解用Python实现邮箱服务的几个需要学习的模块:E-mail Compotion and Decoding(邮件生成和解析).SMTP.POP.IMAP 如上篇博客所讲,我学习过程参 ...

  5. 让jquery easyui datagrid列支持绑定嵌套对象

    嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...

  6. 多个不同的表合并到一个datatable中,repeater在绑定datatable

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...

  7. wpf mvvm datagrid DataGridTemplateColumn的绑定无效的可能原因之一!

    昨天在mvvm wpf的开发中遇到一个问题,绑定不起作用,编辑阶段没问题也没有提示找不到对应的绑定,但是在运行之后却不起作用,查了很多资料,说法不一,有些是要删除datagrid的一行,直接绑定del ...

  8. DevExpress 中 GridControl 的数据源DataTable 内容改变后 重新绑定

    1.datatable dt=new datatable(); 2.dt 内容改变 dt.columns.add("col1"); dt.columns.add("col ...

  9. C# DataTable 和List之间相互转换的方法

    介绍:List/IEnumerable转换到DataTable/DataView,以及DataTable转换到List 正文: 一.List<T>/IEnumerable转换到DataTa ...

随机推荐

  1. Unix网络编程--卷二:FAQ

    1.编译unpipc库. 执行./configure时报错: checking host system type... Invalid configuration `x86_64-pc-linux-g ...

  2. Mysql新知识点150928

    1.select distinct(DATE_FORMAT(updatetime,'%Y-%m')) as updatetime from barcode where pid!=0 order by ...

  3. GZFramework代码生成器插件使用教程

    代码生成器分两种 1.基于独立exe生成程序 直接运行软件目录下GZFrameworkCodeGenerate.exe文件即可 2.基于VS插件生成 目录中分为两部分:全局缓存和VS插件 1.添加全局 ...

  4. Hibernate <二级缓存>

    二级缓存: 定义: 1.二级缓存被称为进程级缓存或者sessionFactory级缓存,二级缓存可以被所有session共享 2.二级缓存的生命周期和sessionFactory生命周期一样(sess ...

  5. linux SVNUP显示无法连接主机

    今天开发环境中突然无法连接主机了,我就想到 1.更改svn 链接地址,发现不可取,工程中的每个目录下面都有个.svn文件,修改起来麻烦: 2.建立新文件夹,重新checkout,发现还是无法链接 最后 ...

  6. 探究chrome下的开发工具的各功能

    F12 一.网页寻找js事件的位置,或者某一个次究竟在哪个相关的文件中可以全局搜索: ①控制台右上角的:(Customize and control DevTools)三个点点开,---->Se ...

  7. redis 安装及相关问题解决

    安装redis 下载,或者用scp命令从其他服务器拷贝 一.安装 解压:tar -zxvf redis-3.0.1.tar.gz 进入:cd redis-3.0.1 编译: make 二.解决问题 1 ...

  8. 【前端开发系列】—— 别说你不会Ajax

    之前一直都是用封装好的Ajax,所以一直很好奇它是如何使用和实现的.这里正好就进行一下学习,下面是Ajax的一个时间图. 设置触发条件 这里模拟一个使用场景,就是在用户登陆时,异步的对用户名以及密码进 ...

  9. .net 连接数据库

    "@"符号是防止将后面字符串中的"\"解析为转义字符. using System.Data; using System.Data.SqlClient; ... ...

  10. 7 -- Spring的基本用法 -- 7...

    7.7 创建Bean的3种方式 ① 调用构造器创建Bean. ② 调用静态工厂方法创建Bean. ③ 调用实例工厂方法创建Bean. 7.7.1 使用构造器创建Bean实例. 使用构造器来创建Bean ...