1. 当datatable 已存在于一个dataset中时,可以使用 ds.tables.add(dt.copy()) 来向dataset 中添加datatable;

2. 当datarow已存在于一个dtA中时,可以使用dtB.importRow(dr)来向dtB中添加datarow;

2. 在查询表格时,如果想查询两个字段,只当两个字段都相同时才过滤重复保留唯一,否则不过滤,这是可以这样使用distinct:

select  distinct  a, b  from  table1

3. 今天在往devexpress 中的treelist 控件中添加节点时,发现虽然添加上了但是界面不显示节点值,解决办法是在设计器里先给treelist添加一个列(当然,我的需求是只有一列的情况下),然后隐藏它即可。为什么要添加一列呢?因为在后台代码里我们是这样写的:

TreeListNode FirstLevelNode = treeList1.AppendNode(null, root);
FirstLevelNode.SetValue(treeList1.Columns[], drFirstLevelNode["StateName"].ToString().Trim());

这里的  treeList1.Columns[0]  就是我们添加的那一行(我自己理解的,不知道对不对,反正实践显示不添加就没法显示)。

最后附上完整的往dev treelist 中根据数据库中数据动态添加节点代码:

WellDAL dalWell = new WellDAL();
TreeListNode root = treeList1.AppendNode(null, null);
root.SetValue(treeList1.Columns[], "本地数据库");
//第一层节点
DataTable dtFirstLevelNode = new DataTable();
dtFirstLevelNode = dalWell.GetData("StateName");
foreach (DataRow drFirstLevelNode in dtFirstLevelNode.Rows)
{
TreeListNode FirstLevelNode = treeList1.AppendNode(null, root);
FirstLevelNode.SetValue(treeList1.Columns[], drFirstLevelNode["StateName"].ToString().Trim());
//第二层节点
DataTable dtSecondLevelNode = new DataTable();
dtSecondLevelNode = dalWell.GetData("StateName", "FieldName");
foreach (DataRow drSecondLevelNode in dtSecondLevelNode.Rows)
{
if (drSecondLevelNode["StateName"].ToString().Trim() == drFirstLevelNode["StateName"].ToString().Trim())
{
TreeListNode SecondLevelNode = treeList1.AppendNode(null, FirstLevelNode);
SecondLevelNode.SetValue(treeList1.Columns[], drSecondLevelNode["FieldName"].ToString().Trim());
//第三层节点
DataTable dtThirdLevelNode = new DataTable();
dtThirdLevelNode = dalWell.GetData("StateName", "FieldName", "BlockName");
foreach (DataRow drThirdLevelNode in dtThirdLevelNode.Rows)
{
if (drThirdLevelNode["StateName"].ToString().Trim() == drFirstLevelNode["StateName"].ToString().Trim() && drThirdLevelNode["FieldName"].ToString().Trim() == drSecondLevelNode["FieldName"].ToString().Trim())
{
TreeListNode ThirdLevelNode = treeList1.AppendNode(null, SecondLevelNode);
ThirdLevelNode.SetValue(treeList1.Columns[], drThirdLevelNode["BlockName"].ToString().Trim());
//第四层节点
DataTable dtForthLevelNode = new DataTable();
dtForthLevelNode = dalWell.GetData("StateName", "FieldName", "BlockName", "WellName");
foreach (DataRow drForthLevelNode in dtForthLevelNode.Rows)
{
if (drForthLevelNode["StateName"].ToString().Trim() == drFirstLevelNode["StateName"].ToString().Trim() && drForthLevelNode["FieldName"].ToString().Trim() == drSecondLevelNode["FieldName"].ToString().Trim() && drForthLevelNode["BlockName"].ToString().Trim() == drThirdLevelNode["BlockName"].ToString().Trim())
{
TreeListNode ForthLevelNode = treeList1.AppendNode(null, ThirdLevelNode);
ForthLevelNode.SetValue(treeList1.Columns[], drForthLevelNode["WellName"].ToString().Trim());
//第五层节点
DataTable dtFifthLevelNode = new DataTable();
dtFifthLevelNode = dalWell.GetData("StateName", "FieldName", "BlockName", "WellName", "HoleNumber");
foreach (DataRow drFifthLevelNode in dtFifthLevelNode.Rows)
{
if (drFifthLevelNode["StateName"].ToString().Trim() == drFirstLevelNode["StateName"].ToString().Trim() && drFifthLevelNode["FieldName"].ToString().Trim() == drSecondLevelNode["FieldName"].ToString().Trim() && drFifthLevelNode["BlockName"].ToString().Trim() == drThirdLevelNode["BlockName"].ToString().Trim() && drFifthLevelNode["WellName"].ToString().Trim() == drForthLevelNode["WellName"].ToString().Trim())
{
TreeListNode FifthLevelNode = treeList1.AppendNode(null, ForthLevelNode);
FifthLevelNode.SetValue(treeList1.Columns[], drFifthLevelNode["HoleNumber"].ToString().Trim());
}
}
}
}
}
}
}
}
}
treeList1.ExpandAll();

效果图:

10.17小结:table.copy() 和 distinct 查询的更多相关文章

  1. 2019.10.16&17小结

    话说也蛮久没写小结了,主要这两次考试失分严重,还是总结下吧. 10.16 T1 小奇挖矿2 100/0 [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿石交易市 ...

  2. 13.1.17 CREATE TABLE Syntax

    13.1.17 CREATE TABLE Syntax 13.1.17.1 CREATE TABLE ... LIKE Syntax 13.1.17.2 CREATE TABLE ... SELECT ...

  3. legend3---12、DB::table('user_questions')和UserQuestion查询的结果的格式不一样

    legend3---12.DB::table('user_questions')和UserQuestion查询的结果的格式不一样 一.总结 一句话总结: 推荐使用模型查找的方式,可以直接数组方式访问: ...

  4. 5月10日 python学习总结 单表查询 和 多表连接查询

    一. 单表查询  一 语法 select distinct 查询字段1,查询字段2,... from 表名 where 分组之前的过滤条件 group by 分组依据 having 分组之后的过滤条件 ...

  5. 背水一战 Windows 10 (17) - 动画: ThemeTransition(过渡效果)

    [源码下载] 背水一战 Windows 10 (17) - 动画: ThemeTransition(过渡效果) 作者:webabcd 介绍背水一战 Windows 10 之 动画 ThemeTrans ...

  6. 发现struct proc_dir_entry内核3.10.17移到internal中去了,倒

    struct proc_dir_entry 原:2.6.38.8 在#include <linux/proc_fs.h> 现:3.10.17 在fs/proc/internal.h:str ...

  7. Windows 8.1 正式版微软官方原版镜像下载(新增10/17新版下载)

    中文版:中国区OEM预装版本,特定国家版,锁定语言,其它功能和核心版没有区别.简体中文单语言版:锁定语言,其它功能和核心版没有区别.专业版+核心版[零售版][推荐]:镜像内包含专业版(Professi ...

  8. Dell Technology Summit(2018.10.17)

    时间:2018.10.17地点:北京国家会议中心

  9. 10.17 NOIP模拟赛

    目录 2018.10.17 NOIP模拟赛 A 咒语curse B 神光light(二分 DP) C 迷宫maze(次短路) 考试代码 B 2018.10.17 NOIP模拟赛 时间:1h15min( ...

随机推荐

  1. AssemblyInfo.cs文件详解

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq395537505/article/details/49661555 一.前言 .net工程的Pr ...

  2. kettle 6.1 日志查询

    SELECT JB.ID_JOB, ---作业ID JB.NAME, ---作业名称 to_char(JB.DESCRIPTION) as JOB_DESCRIPTION , --作业描述 case ...

  3. Ubuntu 18 LTS netplan 网络配置

    一.配置网络 1.通过netplan配置网络 #配置网络 nulige@ubuntu:/etc/netplan$ sudo apt install ifupdown nulige@ubuntu:/et ...

  4. 用R语言分析与预測员工离职

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/kMD8d5R/article/details/83542978 https://mmbiz.qpic ...

  5. solr集群构建的基本流程介绍

    先从第一台solr服务器说起:1. 它首先启动一个嵌入式的Zookeeper服务器,作为集群状态信息的管理者,2. 将自己这个节点注册到/node_states/目录下3. 同时将自己注册到/live ...

  6. Centos7离线安装redis

    1.1 下载.上传.解压redis4.0.11 下载地址:http://download.redis.io/releases/redis-4.0.11.tar.gz下载后上传到服务器上,并解压:备注: ...

  7. PHPStrom激活方法

    直接用浏览器打开 http://idea.lanyus.com/ 点击页面中的“获得注册码”, 然后在注册时切换至Activation Code选项,输入获得的注册码一长串字符串 如果提示红字体信息, ...

  8. 3分钟搞明白信用评分卡模型&模型验证

    信用评分卡模型在国外是一种成熟的预测方法,尤其在信用风险评估以及金融风险控制领域更是得到了比较广泛的使用,其原理是将模型变量WOE编码方式离散化之后运用logistic回归模型进行的一种二分类变量的广 ...

  9. java幂等性的解决方案

    一.幂等性概念 在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同.幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数.这些函数不会影响系统状态,也 ...

  10. Elasticsearch常用配置及性能参数[转]

    cluster.name: estest   集群名称node.name: “testanya”  节点名称 node.master: false  是否主节点node.data: true   是否 ...