转载请注明出处: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. java 线程同步 原理 sleep和wait区别

    java线程同步的原理java会为每个Object对象分配一个monitor, 当某个对象(实例)的同步方法(synchronized methods)被多个线程调用时,该对象的monitor将负责处 ...

  2. struts2的异常

    index.jsp <%@ page language="java" import="java.util.*" contentType="tex ...

  3. Dephi的同一个线程支持累次Execute吗

    Suspend放到循环里------解决方案--------------------执行完不结束只休眠.另外还需要线程池.------解决方案--------------------    while ...

  4. HDU1001 关于累加公式的隐性类型转换

    HDU 1001就卡了. 受到小白的启发遇到这样的循环题目直接转化成公式求解以优化时间.但是!我就是过不了! 问题代码: #include<stdio.h> int main() { in ...

  5. (转)log4net的配置详解

    原文地址:http://blog.csdn.net/pfe_nova/article/details/12225349 log4net是一款优秀的第三方日志框架,可以很容易的加载到开发项目中(引用lo ...

  6. vc读写注册表

    注册表是Windows重要组成部分,注册表记录了大量有关电脑软硬件的信息.注册表中的值通过其名称标识.值名称由与键名相同的字符组成.值本身可以是字符串.二进制数据或者是32位无符号值.在这里我们主要运 ...

  7. com学习(一)GUID 和 接口

    话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了.那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 E ...

  8. SQL模式匹配

    标准的SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符).在 MySQL中,SQL的模式缺省是忽略大小写的.下面显示一些例子.注意在你使用SQL模式时,你不能使 ...

  9. JS &#8203; ZERO WIDTH SPACE

    如上编码 ZERO WIDTH SPACE  在各个语言的表达. JS中使用 var b = a.replace(/\u200B/g,''); 来替换,去掉 ZERO WIDTH SPACE . ht ...

  10. SQL Server T-SQL高级查询(转)

    高级查询在数据库中用得是最频繁的,也是应用最广泛的.   Ø 基本常用查询   --select select * from student; --all 查询所有 select all sex fr ...