DataGridView控件是C#的Winform中常用的一个数据表格视图控件,主要用来显示数据,类似Excel表格。可进行修改等操作。
DataGridView控件属性 ???dataGridView控件自身常用属性:属性的继承类为: System.Windows.Forms
1.Name属性:
默认新建的Name属性值为:dataGridView1 我们在实际应用时,常把它命名为dgv+用途+序号或者简单的 dgv+序号。
2.TabIndex属性:
默认为1,表示显示层优先顺序。数值越小,显示越上层。
3.GridColor属性:
网格线颜色,可以通过该属性美化表格。
4.EditMode属性:
继承:
System.Windows.Forms.DataGridViewEditMode.EditOnEnter
.EditOnEnter属性值,当鼠标点击单元格时就会进入编辑状态。
…
dataGridView控件数据列常用属性:1.HeaderText属性:
列表头,主要用来定义列名的属性。一般用时都要修改。
2.ReadOnly属性:
是否只读,这个一般只用于图形界面展示,而非编辑时设置只读。
3.SortMode属性:
设置为分类模式,分三种:1.NotSortable 不分类 2.Automatic 自动 3.Programmatic
4.MinimumWidth属性:
cell表格的最小宽度。
5.Width属性:
每一列的宽度,可进行设置、修改。
????DataGridView的数据绑定 6大方法?1.DataTable绑定数据源。
就是将要展示的数据,先从数据库中取出暂时存放在DataTable中,然后与DataGridView绑定(关联)。
?SqlDataAdapter dta = new SqlDataAdapter(sql,connStr); ?DataTable dt = new DataTable(); dta.Fill(dt) this.dgvList.DataSource = dt; ????2.DataSet绑定数据源。
注意:
DataSet绑定数据源时,必须同时指定DataMember。
?SqlDataAdapter dta = new SqlDataAdapter(sql,connStr); ?DataSet ds = new DataSet(); dta.Fill(ds , "Adress"); //使用DataSet 绑定数据源时,必须同时指定DataMember。 this.dataGridView1.DataSource = ds; this.dataGridView1.DataMember = "Adress";或者直接用DataTable绑定:
?this.dataGridView1.DataSource = ds.Tables["Adress"]; ????DataView dv = new DataView();this.DataGridView1.DataSource = dv;3.DataView绑定数据源
?ArrayList al = new ArrayList();this.DataGridView1.DataSource = al;4.ArrayList 绑定数据源
?Dictionary <sting,string> dic= new Dictionary<string ,string>();this.DataGridView1.DataSource= dic;5.Dictionary<string,string> 绑定数据源
?this.DataGridView1.DataSource = new BindingList<T>(List<T>);// 或者下面绑定方法//IList<T> list = T.GetAllList();//DataGridView1.DataSource =list; ?向DataGridView添加数据 4大方法:6.list<T> 绑定数据源
??string connStr = "Data Source = . ; Initial Catalog = TestSchool ; Integrated Security = TRUE"; string sql = "select * from Adress"; //创建适配器对象,找一个物流 SqlDataAdapter dta = new SqlDataAdapter(sql,connStr); ?//创建一个客户 ?DataTable dt = new DataTable(); //将将快递送个客户 dta.Fill(dt); //快递里装货物 this.dgvList.DataSource = dt;1.通过SqlDataAdapte向DataGridView添加数据
?List<Teacher> ts = new List<Teacher>(); ?Teacher Li = new Teacher("李华", "18", "Male"); ?Teacher Jian = new Teacher("剑云锋","22","Male"); ?Teacher Yun = new Teacher("云剑锋","18","Female"); ?Teacher Wang = new Teacher("王五","19","Female"); ?Teacher.Add(Li); ?Teacher.Add(Jian); ?Teacher.Add(Yun); ?Teacher.Add(Wang); ?this.dataGridView1.DataSource = Teacher; ?2.通过List<T>向DataGridView添加数据
??Dictionary<String, Teacher> dic = new Dictionary<String, Teacher>(); ?Teacher Li = new Teacher("李华", "18", "Male"); ?Teacher Jian = new Teacher("剑云锋","22","Male"); ?Teacher Yun = new Teacher("云剑锋","18","Female"); ?Teacher Wang = new Teacher("王五","19","Female"); ?Teacher.Add(Li.TName,Li); ?Teacher.Add(Jian.TName,Jian); ?Teacher.Add(Yun.TName,Yun); ?Teacher.Add(Wang.TName,Wang); //用BindingSource 接受 dic值 BindingSource bs = new BindingSource(); ?bs.DataSource =dic.Values; ?this.dataGridView1.DataSource = bs; ?3.通过Dictionary<>向DataGridView添加数据
??SqlDataReader dr = command.ExecuteReader(); ?BindingSource bs = new BindingSource(); ?bs.DataSource = dr; ?this.dataGridView1.DataSource = bs;4.通过SQLDataReader向DataGridView添加数据