DataView筛选绑定

这有好长时间都没与大家分享我在C#中的心得了,接下来我还是会跟大家讲解我对WinForm中控件的认识。也许大家肯定会觉得又做绑定,是当然做绑定因为对于微软而言他们对控件都是基于数据操作,好了你们接下来分享我在WinForm中的心得,今天我要讲解的一个新类DataView,此类是使用做一个过滤器使用。
接下来我们看看今天的程序
今天要使用的控件有2个。第1个ComboBox,第2个DataGrid大家可以使用DataGridView GridView

 1using System;
 2using System.Drawing;
 3using System.Collections;
 4using System.ComponentModel;
 5using System.Windows.Forms;
 6using System.Data;//导入包一
 7using System.Data.SqlClient;// 导入包二
 8public class Form2 : System.Windows.Forms.Form
 9{
10     private System.Windows.Forms.ComboBox cbValue;
11     private System.Windows.Forms.DataGrid dgData;
12     private SqlDataAdapter _ad = null;
13     private DataSet _ds = null;
14     private void Form2_Load(object sender, System.EventArgs e)
15     {
16            string _strConn = "SERVER=.; UID=SA; PWD=SA; DATABASE=TEST";//连接数据库字符串
17            string _sql = "SELECT * FROM USERTEST";//SQL查询语句
18            SqlConnection _conn = new SqlConnection(_strConn);//创建一个数据库连接
19            _conn.Open();//打开数据库
20            _ad = new SqlDataAdapter(_sql, _conn);//数据库适配器
21            _ds = new DataSet();//数据填充,补充有人都不知道DataSet为什么可以断开数据库的时候取得数据,那是因为DataSet是以XML方式来存储数据的,还不懂的人DataSet做成文件。
22            _ad.Fill(_ds);//将数据库适配器数据填充DataSet
23            for(int i = 0; i < _ds.Tables[0].Rows.Count; i++)
24            {
25                DataRowCollection _drc = _ds.Tables[0].Rows;
26                this.cbValue.Items.Add(_drc[i]["UserID"].ToString());//动态添加数据库里面UserID字段值
27            }

28     }

29     private void cbValue_SelectedIndexChanged(object sender, System.EventArgs e)
30     {
31            DataView _dv = new DataView(this._ds.Tables[0]);//关键地方此方法有3个重载,今天讲的是其中一个Table重载
32            _dv.RowFilter = "UserID='"+this.cbValue.SelectedItem.ToString()+"'";//获得ComboBox中的值进入DataView;
33            this.dgData.DataSource = _dv;//绑定DataView对象
34     }

35}
原文地址:https://www.cnblogs.com/XiaoLongZhang/p/1425033.html