开发者社区> 余二五> 正文

4-2 ADO.NET-查询和检索数据10

简介:
+关注继续查看

2.案例学习:DataGridView基本的数据操作

    本实验目标是通过本案例您将学习了解到:
nDataGridView的数据绑定技术;
n数据上下顶底的移动技术;
nDataGridView的更新和删除技术;
nwindow控件的综合应用。
用户界面如图462所示:
4-62  基本的数据操作应用程序界面图
u实验步骤(1):
VS.NET 2005中新建一个名为示例5的基于Windows的项目。将默认窗体重命名为form8.cs
u实验步骤(2):
从工具箱之中拖拽一个GroupBox控件到From窗体,Text属性设置为“数据信息显示区”;向这个GroupBox控件拖拽一个dataGridView控件,ColumnHeadersHeightSizeMode属性设置为“AutoSize”,Dock属性设置为“Fill”,SelectionMode属性设置为“FullRowSelect”;还要向这个GroupBox控件拖拽七个Button控件,text属性分别为“|<”、“<”、“>”、“>|”、“更新(U)”、“删除(D)”、“退出(E)”;另外还要向Form窗体下侧添加一个StatusStrip控件,选中这个StatusStrip控件,在右侧属性栏找到Items属性,点击右侧的“”按钮进入项目集合编辑器,在下拉列表框选中“StatusLabel”后点击旁边的“添加”按钮,成员栏出现一个“ToolStripStatusLabel”项,再一次在下拉列表框选中“ToolStripProgressBar”后点击旁边的“添加”按钮,成员栏出现一个“ToolStripProgressBar”项。
u实验步骤(3):
数据库的设计参见图463
4-63 数据库设计图
数据库为school1,仅用了两个表,mz是表示民族的表,student是表示学生的表。具体字段设计情况请参见图463。数据库环境是SQL Server 2005
u实验步骤(4):
鼠标右击项目,在弹出的菜单中选择“添加”、“新建项”,在弹出的“添加新项”窗体中选择“代码文件”,名称改为“DataBase.cs”,点击“添加”按钮,完成添加。该类库文件前面已有论述,此处不再复述。
u实验步骤(5):
用鼠标双击所有Button控件,进入.cs文件编辑状态准备进行开发。代码加下:
//==========动态程序部分================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsApplication1
{
    public partial class Form8 : Form
    {
        public Form8()
        {
            InitializeComponent();
        }
       
        DataBase mydatabase = new DataBase();
        //注意:下面两个变量ds,dt很重要,负责保留状态信息。
        public DataSet ds = new DataSet();
        public DataTable dt = new DataTable();
        /// <summary>
        /// 更新数据信息
        /// </summary>
        public void updatData()
        {
            String sql = "select * from student";
            if (mydatabase.doUpdate(ds, sql, dt.TableName))
            {
MessageBox.Show("数据更新成功""提示"MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("数据更新失败,请检查数据是否合法!""提示"MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        /// <summary>
        /// 初始化加载事件代码
        /// </summary>
        private void Form8_Load(object sender, EventArgs e)
        {
            ds = mydatabase.GetDataSet("select * from student");
            dt = ds.Tables[0];
            dataGridView1.DataSource = dt.DefaultView;
        }
        /// <summary>
        /// 更新数据信息
        /// </summary>
        private void btnUpdata_Click(object sender, EventArgs e)
        {
            updatData();//更新数据
        }
         /// <summary>
        /// 删除数据信息
        /// </summary>
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (DialogResult.Yes == MessageBox.Show("数据删除后将不可恢复,真的要删除吗?""提示"MessageBoxButtons.YesNo,MessageBoxIcon.Warning))
            {
                dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
                dataGridView1.Refresh();
                updatData();//更新数据
            }
        }
        /// <summary>
        /// 到头
        /// </summary>
        private void button1_Click(object sender, EventArgs e)
        {
            int i = dataGridView1.SelectedRows[0].Index;
            dataGridView1.Rows[i].Selected = false;
            dataGridView1.Rows[0].Selected = true;
            showmess();
        }
        /// <summary>
        /// 下一条
        /// </summary>
        private void button3_Click(object sender, EventArgs e)
        {
            int i = dataGridView1.SelectedRows[0].Index;
            if (i < dataGridView1.Rows.Count - 1)
            {
                dataGridView1.Rows[i].Selected = false;
                dataGridView1.Rows[i + 1].Selected = true;
                showmess();
            }
            else
            {
MessageBox.Show("已经是最后一项了!""提示"MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        /// <summary>
        /// 上一条
        /// </summary>
        private void button2_Click(object sender, EventArgs e)
        {
            int i = dataGridView1.SelectedRows[0].Index;
            if (i != 0)
            {
                dataGridView1.Rows[i].Selected = false;
                dataGridView1.Rows[i - 1].Selected = true;
                showmess();
            }
            else
            {
MessageBox.Show("已经是第一项了!""提示"MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        /// <summary>
        /// 到尾
        /// </summary>
        private void button4_Click(object sender, EventArgs e)
        {
            int i = dataGridView1.SelectedRows[0].Index;
            dataGridView1.Rows[i].Selected = false;
            dataGridView1.Rows[dataGridView1.Rows.Count - 1].Selected = true;
            showmess();
        }
        /// <summary>
        /// 底部显示信息
        /// </summary>
        private void showmess()
        {
            toolStripStatusLabel1.Text = string.Format("当前是第{0}条记录,共{1}条记录",dataGridView1.SelectedRows[0].Index+1,dataGridView1.Rows.Count);
            toolStripProgressBar1.Value = (int)((double)(dataGridView1.SelectedRows[0].Index) / dataGridView1.Rows.Count*100);
        }
       /// 退出系统
        private void btnExit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/216109,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
大数据常见问题:数据倾斜
大数据常见问题:数据倾斜
5 0
建议收藏丨大数据集群常用监控命令(内存、磁盘、CPU、网络)
建议收藏丨大数据集群常用监控命令(内存、磁盘、CPU、网络)
11 0
新手小白成功部署web项目在阿里云服务器
新手小白成功部署web项目在阿里云服务器,感谢阿里云的免费云服务器,能让我独立搭建自己的服务器,搭载自己的web项目
18 0
阿里云镜像站下载gimp镜像
阿里云镜像站下载gimp镜像
87 0
〖Docker指南⑤〗学习Dockerfile,看这一篇就够了
Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。
7 0
建议收藏丨sql行转列的一千种写法!!
建议收藏丨sql行转列的一千种写法!!
10 0
我绘制文章插图的三个神级工具
今天来给大家介绍三个我在制作文章插图时经常使用的堪称神级的工具,每一个工具都可以绘制非常精美图片,对于经常输出文章的朋友来说,绝对不容错过~
6 0
想知道大厂面试都问什么吗,附最强面试技巧!!(大数据开发岗)
想知道大厂面试都问什么吗,附最强面试技巧!!(大数据开发岗)
7 0
Hive小文件问题:如何产生、造成影响、解放办法
Hive小文件问题:如何产生、造成影响、解放办法
7 0
+关注
20381
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载