winform 实现两个datagridview之间的数据联动
再做数据库开发的时候,经常会遇到表带上明细表,比如,一个学校有好多系,每个系又有好多专业...。
在winform中,都会使用datagridview来显示数据,现在就来说说如何实现之间的联动。比如现在有两张表,
而child中的id是参照parent表中的id。
先新建一个DataSet.xsd文件
将parent和child表添加进来。如果在数据中已经添加了外键,则vs会自动生成,如果没加,可以自己建立,
新建一个窗口,放两个datagridview,以及DataSet,和childTableAdapter和parentTableAdapter对象。
设置parent的DataSource为dataSet1,DataMember为dataSet1中的parent表。
设置child的DataSource也为dataSet1,以及DataMember为parent.parent_child_id
设置完之后最后两句代码在窗体的load中的事件里写上
注意这两句不能换顺序,先有主表,再有参照表。
可以看看效果了:
如果要对主表进行条件筛选,建议parent的DataSource绑定到dataSet1.parent.DefaultView。到时只要设置dataSet1.parent.DefaultViewde的RowFilter值即可。
还可以参照http://blog.csdn.net/fangxing80/article/details/2304047这个博客。
winform 实现两个datagridview之间的数据联动的更多相关文章
- WinForm 中两个窗口之间传递数据
方法有很多种,这里介绍项目中使用的两种 一.通过委托+事件的方法进行传值 (点击Form2中的button1按钮,将会把Form2中的textbox.text 传给Form1中的 lable.text ...
- SQL 获得两个时间段之间的数据
一般保存在数据库中的日期精度很高,比如'2014-04-15 16:31:22.000' 而一般用户选择的时间精度是精确到日的,比如'2012-04-15' 所以你想取出两个日期之间的数据,如果用下面 ...
- 用WM_COPYDATA消息来实现两个进程之间传递数据
文着重讲述了如果用WM_COPYDATA消息来实现两个进程之间传递数据. 进程之间通讯的几种方法:在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯.常用的方法有 1.使用内存映射 ...
- Mysql 如何查询两个时间段之间的数据?
Mysql 如何查询两个时间段之间的数据?
- HTML5中window.postMessage,在两个页面之间的数据传递
HTML5中window.postMessage,在两个页面之间的数据传递 2015年11月3日 8536次浏览 关于postMessage window.postMessage虽然说是html5的功 ...
- 9月23日JavaScript作业----两个列表之间移动数据
作业一:两个列表之间数据从一个列表移动到另一个列表 <div style="width:600px; height:500px; margin-top:20px"> & ...
- mysql 查两个表之间的数据差集
需要查两个表之间的差集 首先,想到的是主键直接not in select mailbox_id from co_user where mailbox_id not in (select mailbox ...
- 两个Activity之间共享数据、互相访问的另一种方式的实现
本帖最后由 勇敢的心_ 于 2010-9-29 11:51 编辑 本人从windows编程转过来学习Android开发,一直在想如果两个Activity之间能够像C#或delphi中的Form一样,可 ...
- 两个activity之间传递数据用startActivityForResult方法。
package com.example.testactivityresquest; import android.app.Activity; import android.content.Intent ...
随机推荐
- [POI2008]BLO-Blockade 【无向图tarjan/鸽点】By cellur925
题目传送门 lyd无向图tarjan的例题. 一句话题意(不得不佩服lyd老师的高度概括能力):在一张无向连通图上,求出每个点被破坏(去掉与这个点相关的所有边,不去掉这个点)后,无向图中使i,j不连通 ...
- Ubuntu 18.04 关闭蓝牙开机启动
sudo gedit /etc/rc.local 然后,加入下面一行 rfkill block bluetooth
- win7 右键菜单残影 消除方法
1. 治标法: 右键桌面->更改分辨率 随便换一个分辨率再还原就OK了! 2. 根治法: 我的电脑-> 属性 ->高级选项-> 高级-> 设置-> 自定义 不 ...
- [SDOI2016]墙上的句子
题目描述 考古学家发现了一堵写有未知语言的白色墙壁,上面有一个n行m列的格子,其中有些格子内被填入了某个A至Z的大写字母,还有些格子是空白的. 一直横着或竖着的连续若干个字母会形成一个单词,且每一行的 ...
- scala学习笔记4:函数和闭包
以下主要记录的是看完scala in programming这本书functions and closures(第八章)后的要点总结. 1,函数可以存在的地方:函数方法,嵌套函数. 2,关于funct ...
- canvas 保存状态
1.保存和恢复绘图状态: 在绘制图形时,难免会重复使用某个样式,甚至有时会在不同颜色之间来回切换. 那么为了减少代码冗余,我们可以调用画布中的save()方法,来帮我们 保存一些样式和属性,这样我们就 ...
- C# Equals的重写
using System; using System.Collections.Generic; using System.Text; namespace Equal { using Syste ...
- 5.1点击4个按钮显示相应的div
事件:onclick 属性:display,className 用到for语句,index标记,this当前事件 先清空后附加 <!DOCTYPE html><html>< ...
- tf.app.run() got unexpected keyword argument 'argv'
运行的代码是mnist_with_summaries.py.出现的问题是 tf.app.run() got unexpected keyword argument 'argv' 昨天一直以为是我自己不 ...
- bind - 将一个名字和一个套接字绑定到一起
SYNOPSIS 概述 #include <sys/types.h> #include <sys/socket.h> int bind(int sockfd, struct s ...