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. JavaScript数据类型 String字符串类型的属性和方法

    属性 字符串String类型的每个实例都有一个length属性,表示字符串中的字符个数.由于字符串是不可变的,所以字符串的长度也不可变 字符串的length属性不会在for/in循环中枚举,也不能通过 ...

  2. JGUI源码:从头开始,建一个自己的UI框架(1)

    开篇 1.JGUI是为了逼迫自己研究底层点的前端技术而做的框架,之前对web底层实现一直没有深入研究,有了技术瓶颈,痛定思痛从头研究, 2.虽然现在vue技术比较火,但还在发展阶段,暂时先使用JQue ...

  3. DataBase vs Data Warehouse

    Database https://en.wikipedia.org/wiki/Database A database is an organized collection of data.[1] A ...

  4. 083_Remove Duplicates from Sorted List

    class ListNode: def __init__(self,x): self.val=x self.next=None ####注意这道题并不是把重复元素全部去掉而是保留一个#### #### ...

  5. UOJ #109「APIO2013」TASKSAUTHOR

    貌似是最入门的题答题 刚好我就是入门选手 就这样吧 UOJ #109 题意 太热了不讲了 $ Solution$ 第一个点:$ 105$个数字卡掉$ Floyd$ 直接$101$个点无出边一次询问就好 ...

  6. Stack的相关API

    public class Stack<E> extends Vector<E> : Stack类代表后进先出(LIFO)堆栈的对象. 它扩展了类别Vector与五个操作,允许一 ...

  7. Java正则表达式应用

    查找html中的图片 import java.util.regex.Matcher; import java.util.regex.Pattern; public class PicDownload ...

  8. C++入门篇二

    c++是c语言的增强版,但是和c语言之间有何区别呢? c和c++的区别: 1.全局变量检测增强int a;int a=10; 2.函数检测增强,参数类型增强,返回值检测增强,函数调用参数检测增强(参数 ...

  9. jenkins添加类ubuntu/centos节点报错

    前言:在jenkins添加ubuntu节点,发现启动代理报错 以下是报错: [SSH] Checking java version of /usr/java/latest/bin/java Could ...

  10. Knockout中ko.utils中处理数组的方法集合

    每一套框架基本上都会有一个工具类,如:Vue中的Vue.util.Knockout中的ko.utils.jQuery直接将一些工具类放到了$里面,如果你还需要更多的工具类可以试试lodash.本文只介 ...