u
实验步骤(5):
用鼠标双击所有
Button
控件,进入.cs文件编辑状态准备进行开发。代码加下:
//==========
执行主界面功能================
using
System;
using
System.Collections;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
namespace
WindowsApplication1
{
public partial class Form10 : Form
{
public Form10()
{
InitializeComponent();
}
DataBase mydatabase = new DataBase();
///
///
添加
///
private void button1_Click(object sender, EventArgs e)
{
int i=mydatabase.ExecuteSQL("insert into student(sno,sname,class) values("+textBox1.Text.Trim()+",'"+ textBox2.Text.Trim() +"','"+ textBox3.Text.Trim() +"')");
if (i > 1)
{
MessageBox.Show("
成功插入"
,"
信息"
);
}
}
///
///
自定义方法:填充combox控件之中的内容
///
private void fillcombox()
{
ArrayList al = mydatabase.GetListArray("select sno from student", 0);
foreach (int sno in al)
{
comboBox1.Items.Add(sno.ToString());
}
this.comboBox1.SelectedIndex = 0;
}
///
///
表单初始化事件:加载fillcombox()方法,以填充combox控件之中的内容
///
private void Form10_Load(object sender, EventArgs e)
{
fillcombox();
}
}
}
4-2 DataGridView控件 — 显示和操作数据
在4-2节中我们主要学习并掌握了以下几个知识点,包括:
n
在
DataSet
对象内表示的数据是数据库的部分或全部的断开式内存副本
n
DataAdapter
对象用来填充数据集和用来更新数据集到数据库,这样方便了数据库和数据集之间的交互
n
类型化数据集对象是
DataSet
类的派生类的实例,这些类都基于
XML
结构
n
DataTable
表示一个内存数据表,而
DataColumn
表示
DataTable
中列的结构
n
DataView
是DataTable中存储的数据的表示层
n
DataReader
对象提供只进、只读和连接式数据访问,并使用专用的数据连接
n
DataReader
对象提供检索强类型化数据的方法
u
本节学习目标:
n
了解
DataGridView
控件常见的属性和方法
n
掌握
DataGridView
的数据绑定
n
掌握在
DataGridView
控件中插入、更新和删除数据
n
掌握定制
DataGridView
界面
4-3-1 DataGridView控件概述
1.为什么使用DataGridView
我们在实际项目研发中经常会遇到这样的问题:怎样高效的显示
DataSet
对象中的数据呢?
DataSet
对象中有若干数据表
DataTable
,每个
DataTable
对象中包含若干表示数据记录的
DataRow
对象。这种典型的二维结构表信息显然通过电子表格的形式呈现出来,数据显示的效果是最好的。
在前面章节里,应用程序显示
DataSet
对象中的数据是通过在窗体里每次显示一条记录的方式,即每次显示一个
DataRow
对象内容。这时由若干个控件分别显示
DataRow
对象的各个字段,但每次只能显示一条记录信息。如图4-50所示:
图4-50 显示单条记录的窗体图
但怎样才能把DataSet对象中某个数据表
DataTable
里的所有数据记录一并全部显示在一个窗体界面上呢?如图4-51所示:
图4-71 显示全部记录的窗体图
这里就用到
DataGridView
控件,仅仅一个
DataGridView
控件就可以显示数据表
DataTable
里的全部数据记录。
DataGridView
控件的工作示意如图4-52所示:
图4-52
DataGridView
控件的工作示意图
从图4-52中可以看出,数据集
DataSet
中的某个数据表可以整个显示在某个窗体界面上,非常方便用户查看。由此可以看出
DataGridView
控件的强大方面,该控件的特点主要表现为:
n
强大而灵活地显示数据
n
轻松定义控件外观
n
像
Excel
表格一样方便
n
一行代码实现数据绑定
n
可视化操作
2.DataGridView控件的简介
DataGridView
是.
NET
2.0中的一个新控件,是针对.
NET
1.
x
中功能较差的标准
DataGrid
控件而设计的。有许多改进方面,包括:
DataGridView
支持大量自定义和细致的格式设置、灵活的大小调整和选择、更好的性能以及更丰富的事件模型。
DataGridView
控件提供一种强大而灵活的以表格形式显示数据的方式。可以使用
DataGridView
控件来显示少量数据的只读视图,也可以对其进行缩放以显示特大数据集的可编辑视图。
可以用很多方式扩展
DataGridView
控件,以便将自定义行为内置在应用程序中。例如,可以采用编程方式指定自己的排序算法,以及创建自己的单元格类型。通过选择一些属性,可以轻松地自定义
DataGridView
控件的外观。可以将许多类型的数据存储区用作数据源,也可以在没有绑定数据源的情况下操作
DataGridView
控件。
在不使用
DataGridView
控件来显示数据情况下,一般使用多个可视组件来显示数据,过程示意如图4-53所示:
图4-53 多个可视组件显示记录数据工作示意图
这样有很多不便利的方面,主要表现为:
n
没法同时对多个记录信息进行比较。
n
需要配置多个可视组件,工作复杂。
n
多个可视组件的数据绑定,操作编码工作量大。
n
界面不容易规划美观。
n
难以控制。
而
VS
.
NET
开发平台中的
DataGridView
控件成为有效数据使用者。
DataGridView
控件是
Winform
中最通用、最强大和最灵活的数据控件。
DataGridView
控件的工作原理如图4-54所示:
图4-54 DataGridView控件的工作原理示意图
从图4-54中可以看出:
DataGridView
控件可以与数据集等数据源进行相互绑定。“数据绑定”是指将数据源的元素映射到图形界面组件,从而该组件可以自动使用这些数据。这个绑定过程可以在窗体设计阶段通过设置
DataGridView
控件的
DataSource
、
DataMember
等属性完成,也可以在程序中对其绑定编码直至运行时完成绑定。进行数据绑定的
DataGridView
控件与数据源有相同的数据列。程序运行后,数据源中被填充了数据,
DataGridView
控件就会立即显示数据源中的数据。此外,
DataGridView
控件还支持编辑功能,当某数据记录需要修改时,可以在
DataGridView
控件中直接修改数据,数据源中的数据也会得到相应的修改。
3.DataGridView控件的使用
(1)
DataGridView
控件的属性
DataGridView
控件常用的属性请参见表4-28所示:
表4-28
DataGridView
控件常用属性表
属性
|
说明
|
AllowUserToAddRows
|
获取或设置一个值,该值指示是否向用户显示添加行的选项。
|
AllowUserToDeleteRows
|
获取或设置一个值,该值指示是否允许用户从DataGridView中删除行。
|
AllowUserToOrderColumns
|
获取或设置一个值,该值指示是否允许通过手动对列重新定位。
|
AllowUserToResizeColumns
|
获取或设置一个值,该值指示用户是否可以调整列的大小。
|
AllowUserToResizeRows
|
获取或设置一个值,该值指示用户是否可以调整行的大小。
|
DataSource
|
获取或设置DataGridView所显示数据的数据源
|
Columns
|
获取一个包含控件中所有列的集合。
|
(未完待续)