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. hadoop2.0初识1.3

    1.配置分布式hadoop 1.1 准备三台测试机(虚拟机就可以) 1.1.1 将life-hadoop虚拟机克隆2个分别为life-hadoop02和life-hadoop03 1.1.2 查看ip ...

  2. Codeforces 720A. Closing ceremony

    A. Closing ceremony time limit per test 2 seconds memory limit per test 256 megabytes The closing ce ...

  3. 解决lScrollView嵌套ListView只显示一行的问题,listvie显示全部的item

    ScrollView嵌套ListView只显示一行的问题 1.思路:给listview重新添加一个高度. listview的高度==listview.item的高度之和. 2.注意:关键是添加list ...

  4. c语言期末复习题

    代码参考:<K&R> 1.单词计数 #include<stdio.h> #define IN 1 #define OUT 0 main() { int c, state ...

  5. linux top命令

    top命令参数 -h:help表示显示帮助的意思 -v:version显示版本的意思,和-h的功能一样 -u:user显示指定用户的进程,例如:top -u root -p:pid显示指定进程,例如: ...

  6. .ipynb文件 与ipython notebook

    没有安装ipython notebook 后看见.ipynb文件直接手足无措了 一.安装ipython notebook 使用命令 pip ipython [all] 为所有用户安装 ipython ...

  7. [Java基础]循环结构3

    [Java基础]循环结构3 break 与 continue 中断循环... /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:BreakTest.java 编写时间:2016/6 ...

  8. Android各组件/控件间通信利器之EventBus

    实际项目开发过程中,经常遇到如下场景:不同的应用程序组件的控件间具有一定的相互关联性,其中用户对后者进行的某种操作会引起前者的相应改变.举一个具体的场景:以糗事百科为例,在糗事列表页和详情页页,对于每 ...

  9. Ipad Safari iframe cookie 当浏览器默认禁用第三方COOKIE

    前一阵子,我们发现高版本的Safari中默认会阻止第三方cookie,如下图所示. 问题 什么是第三方cookie呢?在访问一个网站A时,网站A算作第一方,如果网站A中引用了另一个网站X(网站X的域名 ...

  10. C关键字

    1 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义