转载请注明出处: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. struts (四) path DMI

    1.path 常使用绝对路径 path = request.getContextPath(); basepath = request.getscheme+"://"+request ...

  2. Inno Setup执行SQL脚本的方法

    作为和NSIS并立的.两个最流行的免费Windows应用程序安装包制作工具之一,Inno在学习难度上相对要低一些,非常适合对一些简单的桌面程序打包.但对于较复杂的安装过程,或者Web应用程序来说,我个 ...

  3. types.MethodType

    http://stackoverflow.com/questions/972/adding-a-method-to-an-existing-object-instance 532down voteac ...

  4. memcpy、memmove、memset

    void * memcpy(void * dst, const void * src, size_t count) { void *res=dst; while (count--) { *(char* ...

  5. (转)Log4net 配置类库

    原文地址:http://blog.csdn.net/pfe_nova/article/details/20072137 1.单文件日志 对于单文件的日志,封装代码如下: public enum Log ...

  6. windows 开机启动(为了关闭虚拟机的那么多开机进程)

    1.阻止VMware开机时的几个进程应用 禁用系统相关服务即可! 具体操作如下:开始运行中输入msconfig,然后点击服务!这时会出现很多服务选项.点击下面的隐藏所有microsoft服务,就只剩下 ...

  7. Android JNI学习之javah命令的正确使用(找了好半天才找到的,汉,网上好多说法都没用)

    按照网上抄来的javah用法一般出错,今天查了一下午在一篇文章(http://www.ibm.com/developerworks/cn/java/j-jtctips/part6/index2.htm ...

  8. 《点石成金-访客至上的web和移动可用性设计秘籍》读书笔记

      简介 作者Steve Krug,惯例先去了解一下本书的作者,发现书中介绍的并不多,百度一下后发现这本书比作者出名.好吧,百度就是这样子,作者自称web可用性咨询师,手上这本书是第三版再版,第一版2 ...

  9. 反向生成hbm.xml

    选择数据库透视图 打开数据连接 打开刚刚创建的连接,然后打开用户名下的表 这个就是she用户下的表,我们选中要反向生成的表,可以多选,然后点击右键 点击Hibernate Reverse Engine ...

  10. cocos2d-x Android版游戏之中国移动SDK嵌入

    . 拷贝API 将SDK\runtime\CMBilling20007.jar拷贝至游戏工程的runtime目录下(或其他目录) ,但切记不能放在libs目录下编译,否则编译报错(如:bad rang ...