实现该功能是用了DataView的筛选功能,DataView表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图。 这里做了一个简单易懂的Demo来讲述该方法。

1.建两张表

2.读数据库数据到dt显示到dataGridView

3.用DataView选择表dt中数据并返回表dtTemporary

4.运行效果

 
namespace UbdTest
{
public partial class Demo : Form
{
DataTable dt = new DataTable();//数据源
DataTable dtTemporary = new DataTable();//接收返回的所需数据 public Demo()
{
InitializeComponent();
} private void Demo_Load(object sender, EventArgs e)
{
GetData();//调用获取数据方法获得数据
}
/// <summary>
/// 从数据库获取数据方法
/// </summary>
private void GetData()
{ //建立数据库链接
string sqlconString = "Data Source=(local);Initial Catalog=Demo;User ID=sa;Password=sa";//创建连接字符串sqlconString
SqlConnection objcon = new SqlConnection(sqlconString);//创建sql数据连接对象objcon
objcon.Open();//打开数据库链接 //创建一个DataAdapter对象,它表示数据库和DataSet对象之间的链接
SqlDataAdapter dataAdapter = new SqlDataAdapter("Select*From 工作表", objcon); //创建DataSet对象的一个实例,为整个DataSet提供一个名称,然后才能开始加载数据
DataSet ds = new DataSet("Demo");//test为数据来源数据库 //用SqlDataAdapter类提供的Fill方法向DataSet加载数据
dataAdapter.Fill(ds, "工作表"); dt = ds.Tables[0];
} private void button1_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = dt;
} private void button2_Click(object sender, EventArgs e)
{
DataView dataview = dt.DefaultView;
dtTemporary = dataview.ToTable(true,"日期"); dataGridView2.DataSource = dtTemporary;
} private void button3_Click(object sender, EventArgs e)
{
DataView dataview = dt.DefaultView;
dtTemporary = dataview.ToTable(true, "工作内容"); dataGridView3.DataSource = dtTemporary;
}

  

c#获取DataTable某一列不重复的值,或者获取某一列的所有值的更多相关文章

  1. 获取对固定列不重复的新DataTable

    获取对固定列不重复的新DataTable  ///<summary> /// 获取对固定列不重复的新DataTable /// </summary> ///<param ...

  2. 获取DataTable某一列的所有值

    /// <summary> /// 获取某一列的所有值 /// </summary> /// <typeparam name="T">列数据类型 ...

  3. 【转载】C#如何获取DataTable中某列的数据类型

    在C#的数据表格DataTable的操作中,有时候因为业务需要,我们需要获取到DataTable所有列或者某一列的数据类型,此时我们可以通过DataTable中的Columns属性对象的DataTyp ...

  4. C#中获取DataTable某一列的值转换为集合

    直接使用 //Linqvar l1 = (from d in dt.AsEnumerable() select d.Field<int>("ID")).ToList() ...

  5. (原创)一步步优化业务代码之——从数据库获取DataTable并绑定到List<Class>

    一,前言 现实业务当中,有一个很常见的流程:从数据库获取数据到DataTable,然后将DataTable绑定到实体类集合上,一般是List<Class>,代码写起来也简单:遍历+赋值就可 ...

  6. oracle_删除同一列的重复数据

    <!--删除同一列的重复数据 rowid 在orcle中 数据的物理地址---> delete from tbl_over_picture_alarm a where rowid not ...

  7. sql server显示某一列中有重复值的行

    sql server查询一张表 ,显示某一列中有重复值的行,可以这样写: Select * From 表名 where 列名 in(Select 列名 From Table group by 列名 h ...

  8. 获取DataTable前几条数据

    #region 获取DataTable前几条数据 /// <summary> /// 获取DataTable前几条数据 /// </summary> /// <param ...

  9. Java获取随机数获取制定范围指定个数不重复的随机数

    一.JDK中提供的两种方式 1.Math类中的random()方法public static double random()返回带正号的 double 值,该值大于等于 0.0 且小于 1.0 [0. ...

  10. Excel查看某列的重复值

    例如: 当查看的是B列的重复值时:=IF(COUNTIF(B:B,B1)>1,"重复","")

随机推荐

  1. log4j:WARN Please initialize the log4j system properly.解决方案

    在使用quarz任务调度框架时的错误,实际上这个问题很常见,并不影响程序的使用,只是缺少日志输出,完整错误信息: log4j:WARN No appenders could be found for ...

  2. 常用sql调优《一》

    1. 使用索引,避免在索引列上使用计算. 2.用>=替代> <=替代< 3.用UNION替换OR (适用于索引列) 4.用IN来替换OR 或者 用EXISTS替代IN 5 用W ...

  3. windows 2008 中IIS7.0以上如何设置404错误页面

    404错误页面的设置,不仅仅可以提高用户体验度,从SEO方面考虑,也是非常重要的.今天,笔者在这里介绍一下在windows 2008下如何设置404错误页面. 注意:设置404有我这里介绍2种方式,推 ...

  4. shell编程-1.字符截取命令-列截取awk+printf

  5. ZBrush软件特性之Draw

    ZBrush®中的Draw绘制调色板包括了当前绘图的修改和控制工具,能改变工具大小.形状.强度.不透明度和其他一些功能. Draw Size(绘制大小):设置画笔的外形尺寸,调节ZBrush绘制笔刷圆 ...

  6. Debian下的内核编译

    如果你装了一台linux的机器,自己没有重新编译内核,那这台机器的效率就大打折扣了,因为默认安装的机器会生成许多不需要的东西,在启动的时候也会比较慢,而你要用的有些东西可能不能工作,比如,现在都把IP ...

  7. s5pv210 uboot-2012-10移植(二) 之能够启动进入控制台

    这次我们将从官网下载的最新uboot-2012-10移植到s5pv210开发板上,让其进入控制台,效果如下: 首先,我暂时没采用内核的SPL,这个将在后面给补上,这里的BL1是我自己参考资料写的,我用 ...

  8. python 网络编程 粘包问题

    1.粘包现象 TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾.   粘包出现原因 使用了优化方法(Nagle算法),将多次间隔较小.数据 ...

  9. 使用iframe标签时如何通过jquery隐藏滚动条

    通过mouseover和mouseout事件来控制iframe的滚动条 代码如下:

  10. React 中的 AJAX 请求:获取数据的方法

    React 中的 AJAX 请求:获取数据的方法 React 只是使用 props 和 state 两处的数据进行组件渲染. 因此,想要使用来自服务端的数据,必须将数据放入组件的 props 或 st ...