1、两个相同字段表的合并:

 public static DataSet CombineTables(DataSet _ds, DataTable _dt1, DataTable _dt2)
{
DataSet ds = _ds.Clone();
//ds.Tables[0].Clone();
ds.Tables[].Rows.Clear();
int i = ;
for ( i = ; i < _dt1.Rows.Count; i++)
{
ds.Tables[].ImportRow(_dt1.Rows[i]);
}
for (int j = ; j < _dt2.Rows.Count; j++)
{
ds.Tables[].ImportRow(_dt2.Rows[j]);
}
return ds;
}

2、对表的数据截取:

 public static DataSet CopyScopeRows(DataSet source, int startRowNum, int endRowNum) {
DataSet des = source.Clone();
des.Tables[].Rows.Clear();
for (int i = startRowNum; i < source.Tables[].Rows.Count && i <= endRowNum; i++) {
des.Tables[].ImportRow(source.Tables[].Rows[i]);
}
return des;
}

3、数据行的筛选:

 public static DataSet CopyScopeRows(DataSet source, string filter) {
DataSet des = source.Clone();
DataSet _ds = null;
des.Tables[].Rows.Clear();
try
{
DataRow[] rows = source.Tables[].Select(filter);
foreach (DataRow row in rows) {
des.Tables[].ImportRow(row);
}}
catch (Exception ex) { return _ds; }
finally
{}
return des;
}

4、数据行的筛选,并可以排序:

 public static DataSet CopyScopeRows(DataSet source, string filter, string order) {
DataSet des = source.Clone();
des.Tables[].Rows.Clear();
DataRow[] rows = source.Tables[].Select(filter, order);
foreach (DataRow row in rows)
{
des.Tables[].ImportRow(row);
}
return des;
}

5、数据行的筛选,并可截取数据行:

 public static DataSet CopyScopeRows(DataSet source, string filter, int startRowNum, int endRowNum) {
DataSet des = source.Clone();
des.Tables[].Rows.Clear();
DataRow[] rows = source.Tables[].Select(filter);
for (int i = startRowNum; i < rows.Length && i <= endRowNum; i++)
{
des.Tables[].ImportRow(rows[i]);
}
return des;
}

6、数据行的筛选、排序,并可截取数据行:

 public static DataSet CopyScopeRows(DataSet source, string filter, string order, int startRowNum, int endRowNum) {
DataSet des = source.Clone();
des.Tables[].Rows.Clear();
DataRow[] rows = source.Tables[].Select(filter, order);
for (int i = startRowNum; i < rows.Length && i <= endRowNum; i++) {
des.Tables[].ImportRow(rows[i]);
}
return des;
}
 public static object GetValueByKey(DataTable table, string keyName, object keyValue, string returnName) {
object obj = null;
table.PrimaryKey = new DataColumn[] { table.Columns[keyName] };
DataRow row = table.Rows.Find(keyValue);
if (row != null) { obj = row[returnName]; }
return obj;
}
 public static object GetValueByKeys(DataTable table,  object[] keyValue, string returnName)
{
object obj = null; DataColumn[] keys = new DataColumn[];
keys[] = table.Columns[];
keys[] = table.Columns[];
table.PrimaryKey = keys; DataRow row = table.Rows.Find(keyValue);
if (row != null) { obj = row[returnName]; }
return obj;
}

ASP.NET中Dataset的table数据合并、数据截取、数据排序的更多相关文章

  1. ASP.Net中关于WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

    本文主要介绍了ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据传递的相关知识.具有很好的参考价值.下面跟着小编一起来看下吧 前言 最近公司项目进行架构调整,由原来的三层架构改 ...

  2. ASP.NET中Service接受前端单个及多个数据的写法

    MVC中的Service主要是用来处理数据交互的. 前端页面传递一个或者多个参数到Service的写法: 一个参数写法: public DataTable 方法名 (Pagination pagina ...

  3. R语言数据合并使用merge数据追加使用rbind和cbind

    R语言中的横向数据合并merge及纵向数据合并rbind的使用 我们经常会遇到两个数据框拥有相同的时间或观测值,但这些列却不尽相同.处理的办法就是使用merge(x, y ,by.x = ,by.y ...

  4. SQLServer 中多行数据合并成一行数据(一个字段)

    需求:有四行数据,如下: 1.苹果 2.橘子 3.桃子 4.波罗 合并成一个字段:苹果,橘子,桃子,波罗: 需求明确之后,先弄点测试数据,上代码: --创建一个临时表 Create table #te ...

  5. sqlserver中 多条数据合并成一条数据 (stuff 与 for xml path 连用)

    SQL 列转行,即多行合并成一条   需求:按照分组,将多条记录内容合并成一条,效果如下: 数据库示例: CREATE TABLE [t2]([NID] [bigint] NULL,[district ...

  6. react中使用antd Table组件滚动加载数据的实现

    废话不多说,直接上代码.一目了然. import React, { Component } from "react"; import { Table } from "an ...

  7. mysql中将多行数据合并成一行数据

    .1GROUP_CONCAT()中的值为你要合并的数据的字段名; SEPARATOR 函数是用来分隔这些要合并的数据的: ' '中是你要用哪个符号来分隔: 2.必须要用GROUP BY 语句来进行分组 ...

  8. Oracle查询多行数据合并成一行数据

    例如: select base_id, translate (ltrim (text1, '/'), '*/', '*,') xmmc,translate (ltrim (text2, '/'), ' ...

  9. 数据库groub by分组后,把多行数据合并成一行数据(Oracle、Postgres)

    关键字 row_number() over (partition by)   例如,下面的数据, 这是按照name分组后,展示property值. 我们想得到这样的值; 第一步:将每一组的proper ...

随机推荐

  1. 使用SIGALARM为connect设置超时

    static void connect_alarm(int); int connect_timeo(int sockfd, const SA *saptr, socklen_t salen, int ...

  2. 「WC2018」通道

    没有代码能力... LOJ #2339 Luogu P4220 UOJ #347 题意 给定三棵树$ T1,T2,T3$,求一个点对$ (x,y)$使得$ T1.dist(x,y)+T2.dist(x ...

  3. gcc 8.2.1 / MCF thread 简介

    gcc 8.2.1 下载 地址 https://gcc-mcf.lhmouse.com/ MCF threadhttps://github.lhmouse.com/ MCF thread 简介MCF ...

  4. 【原创】大数据基础之ElasticSearch(5)重要配置及调优

    Index Settings 重要索引配置 Index level settings can be set per-index. Settings may be: 1 static 静态索引配置 Th ...

  5. 布思算法Java实现

    public String multiply(String Q,String M){ char Q0 = '0'; String A = get01(Q.length(),"0") ...

  6. 列表生成式,迭代器&生成器

    python3中range(10)就 是迭代器 列表生成式 #列表生成式 a=[0,1,2,3,4,5] b=[] for index,i in enumerate(a): a[index]+1 pr ...

  7. 轮播swiper配置选项

    本文主要介绍了swiper配置选项,包含了轮播的无限滚动.懒加载.监听当前位置.上下翻页.过渡动画渐变.延时加载图片.自动轮播等: swiper官方链接DEMO <!DOCTYPE html&g ...

  8. 进入django

    web应用,c/s,b/s架构 c/s: 客户端 服务端 b/s: 浏览器 服务器 HTTP协议: 超文本传输协议 四大特性: 1.基于TCP/IP作用在应用层之上的协议 2.基于请求响应 3.无状态 ...

  9. SpringBoot webmvc项目导出war包并在外部tomcat运行产生的诸多问题以及解决方案

    背景: 有需求要将原来的Spring(3.2.6) + Springmvc + Hibernate项目重构为Springboot(1.5.2)项目 描述: 记录重构过程,以及期间遇到的种种问题和对应的 ...

  10. php html生成页面二维码

    这个方法主要是针对html页面生成二维码,因此需要一个配置文件phpqrcode.php(因内容太多所以请大家去百度网盘自己下载即可,链接: https://pan.baidu.com/s/1_2mA ...