转载请注明出处:http://www.cnblogs.com/havedream/p/4453297.html

方法:DataTable.Select

作用:获取 DataRow 对象的数组。
重载:
  1. Select()------------------------------------------------获取所有 DataRow 对象的数组。
  2. Select(String)-------------------------------------------获取按与筛选条件相匹配的所有 DataRow 对象的数组。
  3. Select(String, String)-------------------------------------获取按照指定的排序顺序且与筛选条件相匹配的所有 DataRow 对象的数组。
  4. Select(String, String, DataViewRowState)------------------获取与排序顺序中的筛选器以及指定的状态相匹配的所有 DataRow 对象的数组。
 为了更好的说明如何使用该方法,用下面的示例来说明:
注:最后会有完成的代码,这里只是贴出来了部分代码
1、新建Datatable表,绑定主界面datagridview
        /// <summary>
/// 初始化Table表和界面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
tblDatas = new DataTable("Datas");
DataColumn dc = null;
dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
dc.AutoIncrement = true;//自动增加
dc.AutoIncrementSeed = ;//起始为1
dc.AutoIncrementStep = ;//步长为1
dc.AllowDBNull = false;// dc = tblDatas.Columns.Add("名称", Type.GetType("System.String"));
dc = tblDatas.Columns.Add("版本", Type.GetType("System.String"));
dc = tblDatas.Columns.Add("描述", Type.GetType("System.String")); DataRow newRow;
newRow = tblDatas.NewRow();
newRow["名称"] = "天龙八部OL";
newRow["版本"] = "3.0";
newRow["描述"] = "几万块钱的装备基本看不见,被秒的节奏";
tblDatas.Rows.Add(newRow); newRow = tblDatas.NewRow();
newRow["名称"] = "神仙道";
newRow["版本"] = "4.0";
newRow["描述"] = "页游,没事玩一下,别认真,坑太多";
tblDatas.Rows.Add(newRow); newRow = tblDatas.NewRow();
newRow["名称"] = "实况2013";
newRow["版本"] = "1.0";
newRow["描述"] = "经典游戏,不过这个版本直塞是个bug";
tblDatas.Rows.Add(newRow); newRow = tblDatas.NewRow();
newRow["名称"] = "真.三国无双5";
newRow["版本"] = "1.0";
newRow["描述"] = "经典游戏,没事的时候还会玩玩,习惯了旧版本就不想玩新的了";
tblDatas.Rows.Add(newRow); dataGridView1.DataSource = tblDatas;
dataGridView1.Columns[].Width = ;
dataGridView1.Columns[].Width = ;
dataGridView1.Columns[].Width = ;
//for (int i = 0; i < dataGridView1.Columns.Count; i++)
//{
// dataGridView1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
//}
}

运行之后结果如下:

2、DataTable.Select()方法
        private void button2_Click(object sender, EventArgs e)
{
DataRow[] rows = tblDatas.Select(); for (int i = ; i < rows.Length; i++)
{
listBox1.Items.Insert(, "DataTable.Select()--------------" + rows[i]["名称"]);
}
}

运行结果:

3、DataTable.Select(版本='1.0')

        private void button3_Click(object sender, EventArgs e)
{
DataRow[] rows = tblDatas.Select("版本='1.0'"); for (int i = ; i < rows.Length; i++)
{
listBox1.Items.Insert(, "DataTable.Select(版本='1.0')--------------" + rows[i]["名称"]);
}
}

运行结果:

4、DataTable.Select(版本='1.0', ID DESC)

        private void button4_Click(object sender, EventArgs e)
{
DataRow[] rows = tblDatas.Select("版本='1.0'"," ID DESC"); for (int i = ; i < rows.Length; i++)
{
listBox1.Items.Insert(, "DataTable.Select(版本='1.0', ID DESC)--------------" + rows[i]["名称"]);
}
}

运行结果:

5、DataTable.Select(版本='1.0', ID DESC, DataViewRowState.Added)

        private void button5_Click(object sender, EventArgs e)
{
DataRow[] rows = tblDatas.Select("版本='1.0'", " ID DESC", DataViewRowState.Added); for (int i = ; i < rows.Length; i++)
{
listBox1.Items.Insert(, "DataTable.Select(版本='1.0', ID DESC, DataViewRowState.Added)--------------" + rows[i]["名称"]);
}
}

运行结果:

对于DataViewRowState,MSDN给出的成员类型如下:

可以根据自己的需要进行筛选。

DataTable.Select的更多相关文章

  1. Datatable的查找和排序(Datatable.Select)

    Datatable  是一种常用的数据结构.数据类型有点类似于数据库中的表结构.在没有使用优秀的orm框架前,大部分的数据库的数据都是先变为Datatable 然后再通过代码转换变成 object. ...

  2. 在DataTable中执行DataTable.Select("条件")返回DataTable;

    转:http://blog.csdn.net/hcf_force/article/details/7779062 1.在DataTable中执行DataTable.Select("条件&qu ...

  3. DataTable.select() 返回 DataTable

    DataTable.select() 默认返回值为 DataRow[]数组 代码来自网络: /**/ /// <summary> /// 执行DataTable中的查询返回新的DataTa ...

  4. 项目中遇到的 linq datatable select

    1如何使用DataTable.Select选出来的Rows生成新的DataTable?DataTable dt = 数据源;DataTable dtt = new DataTable();dtt=dt ...

  5. C# DataTable.Select() 筛选数据

    有时候我们需要对数据表进行筛选,微软为我们封装了一个公共方法, DataTable.Select(),其用法如下: Select() Select(string filterExpression) S ...

  6. 在DataTable中执行DataTable.Select("条件")

     .在DataTable中执行DataTable.Select("条件")返回DataTable:  // <summary> // 执行DataTable中的查询返回 ...

  7. DataSource绑定DataTable.Select()显示system.data.DataRow问题解决的方法

    有时候我们须要在控件中绑定DataTable中设定条件过滤后的数据,此时,在winForm环境中,一些控件不能正确绑定并显示数据内容.这是由于DataTable.Select()返回的是DataRow ...

  8. [datatable]关于在DataTable中执行DataTable.Select("条件")返回DataTable的解决方法

    -- :09关于在DataTable中执行DataTable.Select("条件")返回DataTable的解决方法 在实际编程工程中,常常遇到这样的情况:DataTable并不 ...

  9. SQL Server游标 C# DataTable.Select() 筛选数据 什么是SQL游标? SQL Server数据类型转换方法 LinQ是什么? SQL Server 分页方法汇总

    SQL Server游标   转载自:http://www.cnblogs.com/knowledgesea/p/3699851.html. 什么是游标 结果集,结果集就是select查询之后返回的所 ...

随机推荐

  1. Run Configuration error:broken configuration due to unavailable

    希望大家一起来,毕竟大家都不会使用这个Androidstudio,一起扩展这方面的知识量 http://forums.opengamma.com/t/intellij-code-compiles-bu ...

  2. Java SE 第二十二讲----接口interface

    1.接口:interface:接口的地位等同于class,接口中的所有方法都是抽象方法.在声明接口中的方法的时候,可以使用abstract关键字也可以不使用.通常情况下,都会省略掉abstract关键 ...

  3. 使用Aspose.Words把 word转成图片

    Document doc = new Document("f:\\333.doc"); ImageSaveOptions iso = new ImageSaveOptions(Sa ...

  4. 在delphi下TClientSocket的使用技巧 转

    http://blog.csdn.net/newzhhsh/article/details/2905874 如果你是在线程的构造函数中创建TClientSocket,那么TClientSocket还是 ...

  5. Understanding Python metaclasses

    转载:https://blog.ionelmc.ro/2015/02/09/understanding-python-metaclasses/ None of the existing article ...

  6. IOS中类似的。9.png图片

    图形用户界面中的图形有两种实现方式,一种是用代码画出来,比如Quartz 2D技术,狠一点有OpenGL ES,另一种则是使用图片. 代码画的方式比较耗费程序员脑力,CPU或GPU; 图片则耗费磁盘空 ...

  7. 30. Distinct Subsequences

    Distinct Subsequences OJ: https://oj.leetcode.com/problems/distinct-subsequences/ Given a string S a ...

  8. python3 pickle, json

    pickle 有dump ,dumps ,load,loads等方法.区别在于dumps不会写入到文件. import pickle string = ['a', 2341, 'adsf'] p_st ...

  9. AM3359之U-boot及kernel编译

    我用的PC主机是ubuntu12.04 LST 32位系统给出官方软件下载地址:TI官网SDK包06.00版本下载:http://software-dl.ti.com/sitara_linux/esd ...

  10. 一个JS定时器类

    学习js,因为函数和定时器直接的关系是非绑定的.我不能说我开启一个定时,然后拿一个变量去记录这个setInterval的返回值,这样很麻烦. 本着面向对象的思想,利用业余时间(周末在家里)写了一个类, ...