u实验步骤(5):<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

用鼠标双击所有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();

        /// <summary>

        /// 添加

        /// </summary>

        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("成功插入","信息");

            }

        }

        /// <summary>

        /// 自定义方法:填充combox控件之中的内容

        /// </summary>

        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;

        }

        /// <summary>

        /// 表单初始化事件:加载fillcombox()方法,以填充combox控件之中的内容

        /// </summary>

        private void Form10_Load(object sender, EventArgs e)

        {

            fillcombox();

        }

    }

}

4-2          DataGridView控件 — 显示和操作数据

4-2节中我们主要学习并掌握了以下几个知识点,包括:

nDataSet对象内表示的数据是数据库的部分或全部的断开式内存副本

nDataAdapter对象用来填充数据集和用来更新数据集到数据库,这样方便了数据库和数据集之间的交互

n类型化数据集对象是DataSet类的派生类的实例,这些类都基于XML结构

nDataTable表示一个内存数据表,而DataColumn表示DataTable中列的结构

nDataViewDataTable中存储的数据的表示层

nDataReader对象提供只进、只读和连接式数据访问,并使用专用的数据连接

nDataReader对象提供检索强类型化数据的方法

u本节学习目标:

n了解DataGridView控件常见的属性和方法

n掌握DataGridView的数据绑定

n掌握在DataGridView控件中插入、更新和删除数据

n掌握定制DataGridView界面

<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />4-3-1  DataGridView控件概述

1.为什么使用DataGridView

我们在实际项目研发中经常会遇到这样的问题:怎样高效的显示DataSet对象中的数据呢?DataSet对象中有若干数据表DataTable,每个DataTable对象中包含若干表示数据记录的DataRow对象。这种典型的二维结构表信息显然通过电子表格的形式呈现出来,数据显示的效果是最好的。

在前面章节里,应用程序显示DataSet对象中的数据是通过在窗体里每次显示一条记录的方式,即每次显示一个DataRow对象内容。这时由若干个控件分别显示DataRow对象的各个字段,但每次只能显示一条记录信息。如图450所示:

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

4-2 ADO.NET-查询和检索数据7
4-50 显示单条记录的窗体图

但怎样才能把DataSet对象中某个数据表DataTable里的所有数据记录一并全部显示在一个窗体界面上呢?如图451所示:

4-2 ADO.NET-查询和检索数据7
4-71 显示全部记录的窗体图

这里就用到DataGridView控件,仅仅一个DataGridView控件就可以显示数据表DataTable里的全部数据记录。DataGridView控件的工作示意如图452所示:

4-2 ADO.NET-查询和检索数据7
4-52 DataGridView控件的工作示意图

从图452中可以看出,数据集DataSet中的某个数据表可以整个显示在某个窗体界面上,非常方便用户查看。由此可以看出DataGridView控件的强大方面,该控件的特点主要表现为:

n强大而灵活地显示数据

n轻松定义控件外观

nExcel表格一样方便

n一行代码实现数据绑定

n可视化操作

2.DataGridView控件的简介

DataGridView.NET 2.0中的一个新控件,是针对.NET 1.x中功能较差的标准DataGrid控件设计的。有许多改进方面,包括:DataGridView支持大量自定义和细致的格式设置、灵活的大小调整和选择、更好的性能以及更丰富的事件模型。

DataGridView控件提供一种强大而灵活的以表格形式显示数据的方式。可以使用DataGridView控件来显示少量数据的只读视图,也可以对其进行缩放以显示特大数据集的可编辑视图。

可以用很多方式扩展DataGridView控件,以便将自定义行为内置在应用程序中。例如,可以采用编程方式指定自己的排序算法,以及创建自己的单元格类型。通过选择一些属性,可以轻松地自定义DataGridView控件的外观。可以将许多类型的数据存储区用作数据源,也可以在没有绑定数据源的情况下操作DataGridView控件。

在不使用DataGridView控件来显示数据情况下,一般使用多个可视组件来显示数据,过程示意如图453所示:

4-2 ADO.NET-查询和检索数据7
4-53 多个可视组件显示记录数据工作示意图

这样有很多不便利的方面,主要表现为:

n没法同时对多个记录信息进行比较。

n需要配置多个可视组件,工作复杂。

n多个可视组件的数据绑定,操作编码工作量大。

n界面不容易规划美观。

n难以控制。

VS .NET开发平台中的DataGridView控件成为有效数据使用者。DataGridView控件是 Winform中最通用、最强大和最灵活的数据控件。DataGridView控件的工作原理如图454所示:

4-2 ADO.NET-查询和检索数据7
4-54 DataGridView控件的工作原理示意图

从图454中可以看出:DataGridView控件可以与数据集等数据源进行相互绑定。数据绑定是指将数据源的元素映射到图形界面组件,从而该组件可以自动使用这些数据。这个绑定过程可以在窗体设计阶段通过设置DataGridView控件的DataSourceDataMember等属性完成,也可以在程序中对其绑定编码直至运行时完成绑定。进行数据绑定的DataGridView控件与数据源有相同的数据列。程序运行后,数据源中被填充了数据,DataGridView控件就会立即显示数据源中的数据。此外,DataGridView控件还支持编辑功能,当某数据记录需要修改时,可以在DataGridView控件中直接修改数据,数据源中的数据也会得到相应的修改。

3.DataGridView控件的使用

1DataGridView控件的属性

DataGridView控件常用的属性请参见表428所示:

4-28 DataGridView控件常用属性表
属性

说明

AllowUserToAddRows

获取或设置一个值,该值指示是否向用户显示添加行的选项。

AllowUserToDeleteRows

获取或设置一个值,该值指示是否允许用户从DataGridView中删除行。

AllowUserToOrderColumns

获取或设置一个值,该值指示是否允许通过手动对列重新定位。

AllowUserToResizeColumns

获取或设置一个值,该值指示用户是否可以调整列的大小。

AllowUserToResizeRows

获取或设置一个值,该值指示用户是否可以调整行的大小。

DataSource

获取或设置DataGridView所显示数据的数据源

Columns

获取一个包含控件中所有列的集合。

(未完待续)

转载于:https://blog.51cto.com/qianshao/216103

相关文章: