转载请注明出处: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. C++学习21 基类和派生类的赋值

    在C/C++中,经常会发生数据类型转换,例如整型数据可以赋值给浮点型变量,在赋值之前,先把整型数据转换为浮点型:反过来,浮点型数据也可以赋值给整型变量. 数据类型转换的前提是,编译器知道如何对数据进行 ...

  2. 数组排序-冒泡排序-选择排序-插入排序-希尔排序-快速排序-Java实现

    这五种排序算法难度依次增加. 冒泡排序: 第一次将数组相邻两个元素依次比较,然后将大的元素往后移,像冒泡一样,最终最大的元素被移到数组的最末尾. 第二次将数组的前n-1个元素取出,然后相邻两个元素依次 ...

  3. 解决 aspx 页面 TextBox 不支持 type="number"

    安装 framework 4 并且打上补丁 Microsoft .NET Framework 4 可靠性更新 1 (KB2533523) https://www.microsoft.com/zh-cn ...

  4. ios开发下的点透处理

    界面上有一个浮动的div,这个div下面有一个文本框,当给这个div绑定touchstar后,做了冒泡的处理代码,还是会出现点透现象,触发下面的的文本框事件.立马弹出一个输入法出来. 1.网上有一种方 ...

  5. Dubbo 通过Spring 配置具体启动服务

    dubbo 服务的启动加载过程,请先看 : http://www.cnblogs.com/ghj1976/p/5316126.html  以 dubbo-demo-provider-2.5.4-SNA ...

  6. OpenCV数据结构:CvMat,IplImage,CvArr的应用

    最近看HS算法时,发现在新的OpenCV3.0已经移除了该算法,于是不得不看老版的.这其中涉及到了CvMat,CvArr,IplImage的使用.关于这三个结构与Mat的转换关系,总结如下: (1)派 ...

  7. ipv6 测试

    # ifconfig wlp0s29f7u6: .... ... inet6 fe80::a00:20ff:fe9d:5c55 prefixlen 64 scopeid 0x20<link> ...

  8. [转]Markdown 语法手册

    Markdown 是一种轻量级标记语言,能将文本换成有效的XHTML(或者HTML)文档,它的目标是实现易读易写,成为一种适用于网络的书写语言. Markdown 语法简洁明了,易于掌握,所以用它来写 ...

  9. sendmessage和postmessage的区别

    BOOL   PostMessage(          HWND   hWnd,             //   handle   of   destination   window        ...

  10. struts2文件上传大小限制问题小结

    一:首先看一下程序执行中出现的对应报错信息,如下所示: [WARN ] 2015-03-03 15:31:11 :Unable to parse request org.apache.commons. ...