代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
C#
】
客户端绑定DataView和DataTable的技巧
作者:
明蔚
/ 发布于
2016/7/31
/
695
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace BindDataGridViewAndDataTable { public partial class Form1 : Form { public Form1() { InitializeComponent(); initData(); } System.Data.DataTable dt = new DataTable(); System.Data.DataSet ds = new DataSet(); /// <summary> /// 初始化数据 /// </summary> private void initData() { dt.TableName = "Table1" ; ds.Tables.Add(dt); dt.Columns.Add( "ID" , typeof ( string )); dt.Columns.Add( "板块" , typeof ( string )); dt.Columns.Add( "积分" , typeof ( int )); addData(dt, "jinjazz" , "delphi" , 50000 ); addData(dt, "jinjazz" , "Sqlserver" , 10000 ); addData(dt, "jinjazz" , ".net" , 20000 ); addData(dt, "zjcxc" , "Sqlserver" , 900000 ); addData(dt, "zjcxc" , "vb" , 10000 ); addData(dt, "zswang" , "delphi" , 70000 ); addData(dt, "zswang" , ".net" , 30000 ); } private void addData(DataTable dt, string Name, string Catalog, int Salary) { System.Data.DataRow drow = dt.NewRow(); drow[ "ID" ] = Name; drow[ "板块" ] = Catalog; drow[ "积分" ] = Salary; dt.Rows.Add(drow); } private void Form1_Load(object sender, EventArgs e) { // 绑定所有没有重复的ID到comboBox1 this .comboBox1.DataSource = dt.DefaultView.ToTable( true , new string[]{"ID"} ); this .comboBox1.DisplayMember = "ID" ; // 绑定所有板块到comboBox2 this .comboBox2.DataSource = new DataView(dt); this .comboBox2.DisplayMember = "板块" ; // 设置两个联动刷新 this.comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged); this.comboBox2.SelectedIndexChanged += new EventHandler(comboBox2_SelectedIndexChanged); // 绑定所有数据到dataGridView1 this .dataGridView1.DataSource = dt; // 绑定所有数据到dataGridView2 this .dataGridView2.DataSource = new DataView(dt); // 利用DataRelation求汇总表格 System.Data.DataTable dtGroup1 = dt.DefaultView.ToTable( true , "ID" ); dtGroup1.TableName = "Table2" ; ds.Tables.Add(dtGroup1); System.Data.DataRelation dr = new DataRelation( "relation" , dtGroup1.Columns[ "ID" ], dt.Columns[ "ID" ]); ds.Relations.Add(dr); dtGroup1.Columns.Add( "总积分" ).Expression = "sum(child(relation).积分)" ; dtGroup1.Columns.Add( "板块数" ).Expression = "count(child(relation).板块)" ; this .dataGridView3.DataSource = dtGroup1; } void comboBox2_SelectedIndexChanged(object sender, EventArgs e) { DataTable dt = new DataTable(); } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { // 设置combobox2和comboBox1同步 System.Data.DataView dv = this.comboBox2.DataSource as DataView; dv.RowFilter = string.Format(" ID='{0}' ", this.comboBox1.Text); // 设置dataGridView2和comboBox1同步 dv = this.dataGridView2.DataSource as DataView; dv.RowFilter = string.Format(" ID='{0}' ", this.comboBox1.Text); } } }
试试其它关键字
同语言下
.
C#实现的html内容截取
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
.
实现对图片上传的接收
.
去除字符串中的空格,回车,换行符转变成‘;’在按‘
.
按照回车换行符分割字符串
.
文件MD5码 比较,检测文件是否一样
可能有用的
.
C#实现的html内容截取
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
.
实现对图片上传的接收
.
去除字符串中的空格,回车,换行符转变成‘;’在按‘
.
按照回车换行符分割字符串
.
文件MD5码 比较,检测文件是否一样
明蔚
贡献的其它代码
(
9
)
.
JAVA生成指定位数不重复的随机数,随机数含0-9、A-Z
.
最大连续和
.
存储过程没有写传出参数如何获取里面的内容
.
Java 子窗口
.
客户端绑定DataView和DataTable的技巧
.
页面多个倒计时
.
如何从元素中除去HTML
.
交换数据
.
判断一个时间点是否位于给定时间区间
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3