1、datatable与datagrid之间的绑定
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之间的绑定的更多相关文章
- wpf之DataGrid绑定DataTable,其中DataGridComboBoxColumn双向绑定枚举enum
百度了快一天,没结果,除了几个原创的,都是复制粘贴的内容. 不想用别的笨办法,于是脑洞大开,想出了我的办法. 首先是前台代码,与网上的比较类似: xmlns:jz="clr-namespac ...
- 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(上)
一.本程序的起源 当我决定去中科院实习的时候,我给刘奎恩老师发了封邮件.我对此事是非常看重的,因此经常使用浏览器,打开gmail去查看刘老师有没有给我回复.因为gmail的新邮件推送的功能仅限于打开浏 ...
- 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(下)
一.我的需求 我希望做成具有以下功能的软件:1. 间隔一段时间登录我的邮箱查看是否有未读邮件 如果不断的运行查看是否有新邮件确实没多大必要. 另外如果这个客户端登录我的邮箱,那么我可能就不能用浏览器登 ...
- 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(中)
这篇博客,主要讲解用Python实现邮箱服务的几个需要学习的模块:E-mail Compotion and Decoding(邮件生成和解析).SMTP.POP.IMAP 如上篇博客所讲,我学习过程参 ...
- 让jquery easyui datagrid列支持绑定嵌套对象
嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...
- 多个不同的表合并到一个datatable中,repeater在绑定datatable
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...
- wpf mvvm datagrid DataGridTemplateColumn的绑定无效的可能原因之一!
昨天在mvvm wpf的开发中遇到一个问题,绑定不起作用,编辑阶段没问题也没有提示找不到对应的绑定,但是在运行之后却不起作用,查了很多资料,说法不一,有些是要删除datagrid的一行,直接绑定del ...
- DevExpress 中 GridControl 的数据源DataTable 内容改变后 重新绑定
1.datatable dt=new datatable(); 2.dt 内容改变 dt.columns.add("col1"); dt.columns.add("col ...
- C# DataTable 和List之间相互转换的方法
介绍:List/IEnumerable转换到DataTable/DataView,以及DataTable转换到List 正文: 一.List<T>/IEnumerable转换到DataTa ...
随机推荐
- [问题2014S04] 复旦高等代数II(13级)每周一题(第四教学周)
[问题2014S04] 设 \(A\in M_n(\mathbb{C})\) 为可对角化的 \(n\) 阶复方阵, \(f(x)\in\mathbb{C}[x]\) 为复系数多项式, 证明: \[B ...
- 安装 phoneGap
npm config set registry http://registry.cnpmjs.org 使用最新版本PhoneGap ,决定使用官方提供的方法安装一次. 官方提供方法有些地方没有提到,因 ...
- Cheatsheet: 2016 01.01 ~ 01.31
Mobile An Introduction to Cordova: Basics Web Angular 2 versus React: There Will Be Blood How to Bec ...
- Git 忽略文件
在Git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法.这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 Git 忽略 *.a ...
- Ubuntu+Win7双系统grub的修复问题
最近,在grub引导的Ubuntu+Win7双系统上作业,用的是Ubuntu14.04.2.进行系统更新,更新到一般卡住了,恰好此时在进行grub相关文件的更新,我把机器重启后进入了grub resc ...
- CSS3中的2D转换
通过 CSS3 转换,我们能够对元素进行移动.缩放.转动.拉长或拉伸. 转换是使元素改变形状.尺寸和位置的一种效果. 注:Internet Explorer 10.Firefox 以及 Opera 支 ...
- 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器
12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...
- mac 启动apache + php
一.启动Apache 在终端里输入命令,启动 Apache: sudo apachectl start 关闭 Apache: sudo apachectl stop 重启 Apache:sudo ap ...
- Android复习指南
基础无外乎几部分:语言(C/C++或java),操作系统,TCP/IP,数据结构与算法,再加上你所熟悉的领域.这里面其实有很多东西,各大面试宝典都有列举. 在这只列举了Android客户端所需要的和我 ...
- unittest框架介绍
1.test fixture(测试框架) 测试准备前要做的工作和测试执行完成后要做的工作,例如测试前需要把数据初始化,测试完成后需要把测试环境中需要关的东西都关掉.主要包括setUp()和tearDo ...