作用:获取 DataRow 对象的数组。
重载:
- Select()------------------------------------------------获取所有 DataRow 对象的数组。
- Select(String)-------------------------------------------获取按与筛选条件相匹配的所有 DataRow 对象的数组。
- Select(String, String)-------------------------------------获取按照指定的排序顺序且与筛选条件相匹配的所有 DataRow 对象的数组。
- 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;//起始为1 dc.AutoIncrementStep = 1;//步长为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[0].Width = 50; dataGridView1.Columns[1].Width = 150; dataGridView1.Columns[2].Width = 50; //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 = 0; i < rows.Length; i++) { listBox1.Items.Insert(0, "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 = 0; i < rows.Length; i++) { listBox1.Items.Insert(0, "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 = 0; i < rows.Length; i++) { listBox1.Items.Insert(0, "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 = 0; i < rows.Length; i++) { listBox1.Items.Insert(0, "DataTable.Select(版本=‘1.0‘, ID DESC, DataViewRowState.Added)--------------" + rows[i]["名称"]); } }
运行结果: