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. 在vue中引入scss

    先npm安装stylus和stylus-loader  (我安装后,报错提示缺少stylus,所以第一步安装stylus,如果没有提示可省略第一步) 1.到 package.json ----- de ...

  2. 将代码上传版本库gitee

    首先在电脑中安装git,配置好环境变量. 在后台输入命令上传 上传账号的用户名git config --global user.name "" 上传账号的邮箱git config ...

  3. web开发简史与技术选型

    视频地址:http://v.youku.com/v_show/id_XMTQxNzM1MzAwOA==.html?firsttime=0&from=y1.4-2

  4. 【python】md5加密方法相关使用

    md5方法在hashlib库中,使用前需要先导入.它的主要方法为update,copy,以及转换为二进制,十六进制. 用法说明: Help on HASH object: class HASH(bui ...

  5. setInterval动态时间处理

  6. springboot集成mybatis源码分析(一)

    本篇文章只是简单接受使用,具体源码解析请看后续文章 1.新建springboot项目,并导入mybatis的pom配置 配置数据库驱动和mybatis dependency <dependenc ...

  7. 微信小程序 canvas 内容(宽高) 兼容不同机型

    此功能并没有做所有机型测试,后面会一个一个做一下,如需使用请先自作测试! canvas在小程序中设定的尺寸默认是px 并不是rpx的 所以需要转换一下 PS:设计稿是750像素 wx.getSyste ...

  8. Python内置模块之subprocess

    import subprocess ret = subprocess.Popen('netstat -ano',shell=True,stdout=subprocess.PIPE,stderr=sub ...

  9. Jmeter性能测试之参数化(二)

    Jmeter参数化主要有3种方式: 1. Add--> Pre Processors--> User Parameters 2. Add--> Config Element--> ...

  10. Winform Focus()函数不起作用 解决办法

    private void Form_Load(object sender, EventArgs e) { this.txtName.Focus(); } 光标到不了txtName.可能的原因 TabI ...