合并两个结构完全相同的DataTable
2015-10-15 11:20
531 查看
两个结构一模一样的DataTable如何合并?
例子:使用Winform进行演示,表2的数据为固定的,表1的数据可以动态添加,通过合并按钮合并表1和表2的数据到表3
1.规定公共的DataTable结构
2.窗体加载事件中构造表2的数据
3.动态添加表1的数据
4.开始合并
5.演示
源代码下载
例子:使用Winform进行演示,表2的数据为固定的,表1的数据可以动态添加,通过合并按钮合并表1和表2的数据到表3
1.规定公共的DataTable结构
/// <summary> /// 构造空的DataTable /// </summary> /// <returns></returns> private DataTable GetEmptyDataTable() { DataTable dt = new DataTable(); dt.Columns.Add("Id"); dt.Columns.Add("Name"); return dt; }
2.窗体加载事件中构造表2的数据
private void Form1_Load(object sender, EventArgs e) { //构造表2的数据 DataTable dt2 = this.GetEmptyDataTable(); DataRow dr = dt2.NewRow(); dr["Id"] = Guid.NewGuid(); dr["Name"] = "表二的数据"; dt2.Rows.Add(dr); this.dgv2.DataSource = dt2; }
3.动态添加表1的数据
/// <summary> /// 新增表1数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAddTable1_Click(object sender, EventArgs e) { this.dgv3.DataSource = null; DataTable dtDataSouce = this.dgv1.DataSource as DataTable; if (dtDataSouce == null) { dtDataSouce = this.GetEmptyDataTable(); } DataRow dr = dtDataSouce.NewRow(); dr["Id"] = Guid.NewGuid(); dr["Name"] = "第" + dtDataSouce.Rows.Count.ToString() + "条数据"; dtDataSouce.Rows.Add(dr); this.dgv1.DataSource = dtDataSouce; }
4.开始合并
/// <summary> /// 合并两2个DataTable /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnStartMerge_Click(object sender, EventArgs e) { //得到表1的数据 DataTable dt1 = this.dgv1.DataSource as DataTable; //得到表二的数据 DataTable dt2 = this.dgv2.DataSource as DataTable; //开始合并(思路:构造空的表dt结构和表1、表2相同 将表1表2的数据添加到dt中) //1. 任意选择一个表进行复制 DataTable dt = dt1.Clone(); //2.循坏遍历表1 foreach (DataRow dr in dt1.Rows) { dt.Rows.Add(dr.ItemArray); } //3.循环遍历表2 foreach (DataRow dr in dt2.Rows) { dt.Rows.Add(dr.ItemArray); } //此时dt就是表1和表2的合并数据 this.dgv3.DataSource = dt; }
5.演示
源代码下载
相关文章推荐
- 【WIN10】WIN10-UWP開發討論群
- 3-5年的PHPer常见的面试题
- [Flex] ButtonBar系列——flex3 ButtonBar各项之间的间距调整
- Linux 笔记 检查状态/监控网络流量
- 解决checkbox的attr(checked)一直为undefined问题
- Linux下结合inode删除特殊文件
- Rhino JavaScript 解析引擎-------Ant
- php生成PDF文件(FPDF)
- iOS 闭包中的[weak self]在什么情况下需要使用,什么情况下可以不加?
- 关于block使用的5点注意事项
- DWR3.0框架入门(1) —— 实现ajax
- 红黑树实现
- 免费手机号码归属地API查询接口和PHP使用实例分享
- 解析jffs2文件系统镜像文件
- 解决TPMS灯亮的问题
- linux系统的目录及文件汇总表
- 在centos中运行java命令时出现Error: Could not find or load main class XXX问题的解决方法
- 使用Dom4j解析XML
- 使用云服务器开启了服务却Telnet不到端口问题的解决
- 大数基本运算