vb.net datagridview数据批量导入sql_【自学C#】|| 笔记 44 ComboBox:组合框控件数据绑定...

37390ca00248e19598e414df77d01d46.png

一、ComboBox:组合框控件数据绑定

    在 Windows 应用程序中很多控件都提供了 DataSource 属性,并将 DataSet 或 DataTable 的值直接赋给该属性,这样在控件中即可显示从数据库中查询出来的数据。
    常用的数据绑定控件有文本框(TextBox)、标签(Label)、列表框(ListBox)、组合框(ComboBox)、数据表格(DataGridView)等。
    下面以组合框控件为例来讲解一下数据绑定的应用。

可视化数据绑定

    组合框控件(ComboBox)在 Windows 窗体应用程序中是常用的控件,例如用于存放省市信息、专业、图书类型、房间类型等。
    在 Windows 窗体应用程序中提供了可视化数据绑定和使用代码绑定数据的方法。
    使用数据绑定的方式绑定组合框控件直接单击组合框的 "33b4556fd48a670c41c326d7929ec383.png" 图标,弹出“ComboBox任务”菜单,如下图所示。

178c5b4c3463c7a3d768f8aafdc2f012.png

在窗台上,找到ComboBox控件,并且点击上面的图标,就会弹出上面的那个。然后点击复选框,就会变成下面这样。

6dd058d2a29226cb55df0bfaaac34f57.png

在该菜单中

  • “数据源”组合框用于选择要连接数据库中的数据表,相当于为控件设置 DataSource 属性;

  • “显示成员”组合框用于设置在组合框中显示的列名,可以通过组合框的Text属性获取;

  • “值成员”组合框用于设置组合框中的隐藏值,可以通过组合框的 Value 属性获取;

  • “选定值”组合框用于设置组合框中所选值使用的列名。

下面通过实例来演示组合框的绑定。

    1.例

    创建 Windows 窗体应用程序,设置显示专业信息的组合框,并将“显示成员”设置为专业名称列、将“值成员”设置为专业编号、将“选定值”设置为“计算机”。

    根据题目要求,先创建专业信息表,建表语句如下。

create table major(    id int primary key identity(1,1),    name varchar(20) unique);

向该表中添加计算机、英语、自动化 3 个专业信息,通过“ComboEox任务”菜单设置数据绑定项,首先选择“数据源”组合框,并单击“添加项目数据源”链接,弹出如下图所示的对话框。

    总之找到数据源,点击组合框,点击“添加项目数据源”。

5f6d5972b4f0731829ad8f728d6b412a.png

    弹出这个。

e2029e85b798ab1e2f550f7b4f035f3f.png

    下一步

98778e67f3e34a53afbee0132b47863d.png

    下一步

704f1427f482918d46d8540e1c48ac0a.png

单击“新建连接”

1fbf2de45474e81840a9ec3b7f2e6a1b.png

    建立数据库连接。

e8f3214b2f2578a1d9ff3f7b4d3f9832.png

也就回到这里。

    其实也是之前建立好的。

704f1427f482918d46d8540e1c48ac0a.png

然后选则一个选项。

3a084a2ef8449b462989129994cc84ca.png

下一步

e83c1ec36886aa2fd2639a0f00939955.png

下一步

6ab33bf6c1dd4ce0fa0a2441f41f2812.png

选中要使用的数据表

959a288e066f8461d38b45d149cdbd63.png

数据源也就设置好了。

45aba63fbdca3508ca3a570a1fe003a7.png

    这里

        显示成员:则表示在下列菜单中输出的项。

        值成员:一般就是标号,也就是ID。

        选定值:也就是字段名,所以这里依旧是name。

7bce68efc43402304e82e1c7e0a905f3.png

    然后通过运行也就成功了。

bdb27773efa382fcf43070fbdb1e1ad9.png

使用代码绑定组合框

与数据绑定控件设置的属性类似,需要通过代码设置组合框的数据源、显示成员、值成员等内容。
具体设置的语句如下。

组合框对象.DataSource = DataTable 的对象//设置组合框的显示成员属性组合框对象.DisplayMember = 列名//设置组合框的值成员属性组合框对象.ValueMember = 列名

下面通过实例演示如何通过编写代码绑定组合框。

    1.例

    使用代码的方式绑定组合框显示专业名称,每次切换选项后弹出消息框显 示组合框中当前选择的值。

    将上一面的实例中的数据绑定方式换成代码方式来绑定组合框显示专业名称,在窗体的加载事件中加入绑定组合框的代码,代码如下。

private void Form1_Load(object sender, EventArgs e)        {            //数据库连接串            string connStr = "Data Source=.;Initial Catalog=text;User ID=sa;Password=123";            //创建SqlConnection的实例            SqlConnection conn = null;            try            {                conn = new SqlConnection(connStr);                //打开数据库                conn.Open();                string sql = "select * from userinfo";                //创建SqlDataAdapter类的对象                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);                //创建DataSet类的对象                DataSet ds = new DataSet();                //使用SqlDataAdapter对象sda将查新结果填充到DataSet对象ds中                sda.Fill(ds);                //设置组合框的DataSource属性                comboBox1.DataSource = ds.Tables[0];                //设置组合框的DisPlayMember 属性                comboBox1.DisplayMember = "name";                //设置组合框的ValueMember属性                comboBox1.ValueMember = "id";            }            catch (Exception ex)            {                MessageBox.Show("出现错误!" + ex.Message);            }            finally            {                if (conn != null)                {                    //关闭数据库连接                    conn.Close();                }            }        }

分析:

    首先导入包:using System.Data.SqlClient;

    然后是连接数据库,并进行表的查询。

    再通过DataSet类,进行往组合框控件中存放数据。

运行结果:跟上面一样。

bdb27773efa382fcf43070fbdb1e1ad9.png

    如果在上面的组合框中,添加选项改变事件。并将组合框中当前显示的内容显示到消息框中,代码如下。

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)        {            if (comboBox1.Tag != null)            {                //获取组合框中显示的值                string name = comboBox1.Text;                //弹出消息框                MessageBox.Show("您选择的专业是:" + name);            }        }

分析:

    当组合框中的内容发生改变时触发。

    也就是通过消息框的方式进行输出。

运行结果:

1eb2867986b14891ed009e62fb532771.png

在实际工作中,使用代码绑定的方式是应用最多的方式,一方面体现了代码的灵活性,另一个方面也增强了代码的可移植性。

二、DataGridView:数据表格控件数据绑定

    数据表格控件是 WinForm 窗体应用程序中用于查询时以表格形式显示数据的重要控件,同样数据表格控件也可以使用可视化数据绑定和代码的方式来绑定数据表中的数据,并能在数据表格控件中实现对表中数据的修改和删除操作。
    下面分别介绍使用可视化数据绑定方式绑定数据表格控件和使用代码方式绑定数据表格控件。

可视化方式绑定 DataGridView 控件

    数据表格控件的可视化数据绑定也是通过控件的任务菜单完成的,如下图所示。

    总之先找到DataGridView控件

a3363d584f2135d1d10e38504e8e001a.png

    在“DataGridView 任务”菜单中提供了“选择数据源”“编辑列”“添加列”,以及“启用添加”“启用编辑”“启用删除”“启用列重新排序”“在父容器中停靠”等选项。

其中:

  • 选择数据源:与组合框控件中选择数据源的操作是相同的。

  • 编辑列:用于在 DataGridView 控件中编辑列,包括添加列、给列设置别名等操作。

  • 添加列:用于向 DataGridView 控件中添加列,并且可以在 DataGridView 控件中添加不同类型的控件用于显示新添加的列,例如添加一个按钮用于修改或删除表中的数据。

  • 启用添加:允许用户向 DataGridView 控件中添加一行,相当于将 DataGridView 控件中的 AllowUserToAddRows 属性设置为 True。

  • 启用编辑:允许用户编辑 DataGridView 控件中的值,相当于将 DataGridView 控件中的 Readonly 属性设置为 False。

  • 启用删除:允许用户删除 DataGridView 控件中的值,相当于将 DataGridView 控件中的 AllowUserToDeleteRows 属性设置为 True。

  • 启用列重新排序:允许启用手动列重新设置,相当于将 DataGridView 控件中的 AllowUserToOrderColumn 属性设置为 True。

  • 在父容器中停靠:允许 DataGridView 控件在所在的窗体中最大化。

    下面通过实例来演示以可视化的方法绑定 DataGridView 控件。

    1.例

    使用可视化绑定的方法将专业信息表中的专业编号和专业名称显示在 DataGridView 控件中,并为表中的列名设置别名。

    根据题目要求,完成该实例需要以下步骤。

    1) 窗体设计

    创建 Windows 窗体应用程序,并添加一个用于显示专业信息的窗体,如下图所示。

    总之就是这个DataGridView控件

8e1b349d1d426b83146c05d845d97979.png

    2) 为窗体设置数据源

    在上图所示的界面中单击 DataGridView 控件上的“215af515d5dcef892836ee1604e53b1d.png”按钮,在弹出的“DataGridView 任务”菜单中的选择数据源组合框中为 DataGridView 控件设置数据源。
    选择数据源的方法跟 ComboBox控件的类型差不多,由于在前面的使用组合框的实例中已经为应用程序设置过数据源,所以这里 DataGridView 控件中的数据源直接选择已经设置好的数据源即可。
    在选择数据源后,“DataGridView任务”菜单的效果如下图所示。      

a096db0e1137c7c690da57fa1cecd182.png

    3) 编辑列

    在上图所示的界面中单击“编辑列”,弹出如下图所示的对话框。

5a74b6701c95dd9cd56ea25d448ca085.png

在该对话框的左侧列出了专业信息表(major)中的所有列,右侧列出了列的属性,常用的属性如下表所示。

属性名称说明
Frozen设置用户在水平滚动 DataGridView 控件时列是否移动,默认是 False
ColumnType设置显示列时的控件类型,默认是文本框
DataPropertyName 设置绑定数据源中的列
HeaderName 设置在 DataGridView 列中显示的列标题
Visible 设置该列是否可见
    在上图所示的对话框中将 id 列的列标题 (HeaderText) 属性设置为“编号”、将 name 列的列标题 (HeaderText) 属性设置为“专业名称”。

    完成以上 3 个步骤后运行该窗体,效果如下图所示。

    (我这里其实在连接数据源后,就已经能默认完成了。)

运行结果:

7bb0d91078d3d1eb605ca893b5fd078d.png

    从上面的运行效果可以看出,使用可视化数据绑定方式可以快速完成将数据表中的数据显示在 DataGridView 控件中的操作,并可以很容易地对绑定列的属性进行相关设置。

使用代码绑定 DataGridView 控件

    使用代码绑定 DataGridView 控件时需要为该控件设置数据源 (DataSource) 属性,具 体的语句如下。

DataGridView 控件的名称.DataSource = DataTable 对象 ;

    如果使用 DataSet 对象为 DataSource 属性赋值,则需要使用 DataSet 对象的 Tables 属性选择指定的数据表。

下面通过实例来演示如何使用代码绑定 DataGridView 控件。

    2.例

    使用代码的方式绑定 DataGridView 控件。

    根据题目要求,在窗体的加载事件中加入代码绑定 DataGridView 控件,实现的代码如下。

        private void Form1_Load(object sender, EventArgs e)        {            //数据库连接串            string connStr = "Data Source=.;Initial Catalog=text;User ID=sa;Password=123";            //创建SqlConnection的实例            SqlConnection conn = null;            try            {                conn = new SqlConnection(connStr);                //打开数据库                conn.Open();                string sql = "select * from userinfo";                //创建SqlDataAdapter类的对象                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);                //创建DataSet类的对象                DataSet ds = new DataSet();                //使用SqlDataAdapter对象sda将查新结果填充到DataSet对象ds中                sda.Fill(ds);                //设置表格控件的DataSource属性                dataGridView1.DataSource = ds.Tables[0];            }            catch (Exception ex)            {                MessageBox.Show("出现错误!" + ex.Message);            }            finally            {                if (conn != null)                {                    //关闭数据库连接                    conn.Close();                }            }        }

分析:

    在窗体加载中自动运行。

    首先依旧是连接数据库,并打开数据库,然后执行数据库的查询语句。

    然后通过DataSet类的方式进行控件的传输传值。

运行结果:

8cef7dc9a40140e0532e0feef18c20b2.png

    从上面的运行效果可以看出,通过设置 DataGridView 控件的 DataSource 属性即可绑定 DataGridView 控件,但绑定后的 DataGridView 控件中的标题是数据表中的列名。

    如果需要更改 DataGridView 控件的列标题,则需要在上面的代码中加入以下代码。

//设置第 1 列的列标题dataGridView1.Columns[0] .HeaderText="编号";//设置第2列的列标题dataGridView1. Columns[1].HeaderText="专业名称";

完整代码:

private void Form1_Load(object sender, EventArgs e)        {            //数据库连接串            string connStr = "Data Source=.;Initial Catalog=text;User ID=sa;Password=123";            //创建SqlConnection的实例            SqlConnection conn = null;            try            {                conn = new SqlConnection(connStr);                //打开数据库                conn.Open();                string sql = "select * from userinfo";                //创建SqlDataAdapter类的对象                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);                //创建DataSet类的对象                DataSet ds = new DataSet();                //使用SqlDataAdapter对象sda将查新结果填充到DataSet对象ds中                sda.Fill(ds);                //设置表格控件的DataSource属性                dataGridView1.DataSource = ds.Tables[0];                //设置第 1 列的列标题                dataGridView1.Columns[0].HeaderText = "编号";                //设置第2列的列标题                dataGridView1.Columns[1].HeaderText = "专业名称";            }            catch (Exception ex)            {                MessageBox.Show("出现错误!" + ex.Message);            }            finally            {                if (conn != null)                {                    //关闭数据库连接                    conn.Close();                }            }        }

运行结果:

6193d030950055fc98bfe8f351c96e79.png

相关资源:vb 组合件 课件
已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
随着计算机技术和网络技术的高速发展以及形式多样、数量庞大的数字化教学资源的出现,网络辅助教学得到越来越广泛的应用。如何有效的开展网络辅助教学活动逐渐成为高校教育信息化建设所关注的重要课题,网络辅助教学平台的建设已成为解决这一课题的基础和关键。本文针对当前高校程序设计类课程传统教学模式的弊端,以建构主义学习理论、自主学习理论等学习理论作为理论基础,以教学系统设计理论和软件工程理论作为理论支撑,根据本校《Visual Basic程序设计》课程(以下简称VB)的教学实际情况,确定了《VB程序设计》网络辅助教学平台的指导思想和系统架 在对已有的VB案例程序和试题进行整理归类的基础上,开发出了一批新的案例程序,搜集、整理、建立起了按知识点划分的较完整的试题库,通过重组、整理、收集和开发等手段建立起了较完整的《VB程序设计》网络辅助教学平台的资源库,最终开发出了 《VB程序设计》网络辅助教学平台并投入使用;在设计理念上提出了案例程序──任务驱动教学法,并在教学过程中得到了检验,取得了良好的教学效果。论文首先介绍了设计和开发网络辅助教学平台的理论基础以及相关技术,并在理论的指导下对《VB程序设计》课程进行网络环境下的教学系统设计,利用ASP.NET2.0技术和VisualStudio.NET 2008作为开发环境,用Microsoft SQL Server 2000做后台数据库 构建了基于B/S模式的网络辅助教学平台并投入应用,以期弥补传统教学模式的不足,充分利用各种教学资源,调动学生的学习积极性,优化课堂教学。 文中还对开发网络辅助教学平台的必要性进行了分析和论述,对平台设计进行详细的需求分析,提出总体设计方案,对平台关键模块的实现过程进行了描述和分析,开发、整理和完善教学资源库,完成平台测试和应用工作,并通过实践应用对网络辅助教学平台进行分析、评价和反思 以验证所构建的平台在教学中的实际效果,从而证明所构建的基于B/S模式的网络辅助教学平台的实用性,最终实现为学校教学和自治区精品课程提供一套切实可行的网络教学平台,具有一定的现实意义和实践意义。
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页