可视化方式绑定 DataGridView 控件(写的不详细,结合上一篇)

  使用可视化数据绑定方式可以快速完成将数据表中的数据显示在 DataGridView 控件中的操作,并可以很容易地对绑定列的属性进行相关设置。(可以看到代码减少了很多)

public partial class Form1 : Form
{
  public Form1()
  {
    InitializeComponent();
  }

private void Form1_Load(object sender, EventArgs e)
{
  // TODO: 这行代码将数据加载到表“myDataSet.StuCourse”中。您可以根据需要移动或删除它。
  this.stuCourseTableAdapter.Fill(this.myDataSet.StuCourse);
  dgv.MultiSelect = false;
  dgv.Columns[0].ReadOnly = true;
}

private void btnSearch_Click(object sender, EventArgs e)
{
  dgv.DataSource = null;
  dgv.DataSource = this.stuCourseTableAdapter.GetDataBy(cbCourseName.SelectedValue.ToString());
}

private void btnDelete_Click(object sender, EventArgs e)
{
  int id = -1;
  bool isTrue = int.TryParse(dgv.SelectedRows[0].Cells[0].Value.ToString(), out id);
  if (!isTrue)
  {
    MessageBox.Show("ERROR");
    return;
  }
  this.stuCourseTableAdapter.DeleteTheCourseInfo(id);

  dgv.DataSource = null;
  this.stuCourseTableAdapter.Fill(this.myDataSet.StuCourse);
  dgv.DataSource = this.stuCourseBindingSource1;
}

private void btnUpdate_Click(object sender, EventArgs e)
{
  if (dgv.SelectedRows.Count <= 0)
  {
  MessageBox.Show("ERROR");
  return;
  }
  int id = Convert.ToInt32(dgv.SelectedRows[0].Cells[0].Value);
  string name = dgv.SelectedRows[0].Cells[1].Value.ToString();
  decimal credit = Convert.ToDecimal(dgv.SelectedRows[0].Cells[2].Value);
  string remark = dgv.SelectedRows[0].Cells[3].Value.ToString();

  this.stuCourseTableAdapter.UpdateTheCourseInfo(name, credit, remark, id);

      dgv.DataSource = null;
      this.stuCourseTableAdapter.Fill(this.myDataSet.StuCourse);
      dgv.DataSource = this.stuCourseBindingSource1;
      }
    }

ADO.NET 八(一个例子)的更多相关文章

  1. spring笔记--使用springAPI以及自定义类 实现AOP的一个例子

    Spring的另一个重要思想是AOP,面向切面的编程,它提供了一种机制,可以在执行业务前后执行另外的代码,Servlet中的Filter就是一种AOP思想的体现,下面通过一个例子来感受一下. 假设我们 ...

  2. ReCap 360 photo照片建模技术的又一个例子

    这是我做的又一个利用Autodesk ReCap 360 照片建模技术做的一个例子.你可以下载模型自己把玩,或者下载原始照片自己试一试. 拍摄工具: 小米手机 照片数量:约120张 后期处理工具: p ...

  3. 从一个例子中体会React的基本面

    [起初的准备工作] npm init npm install --save react react-dom npm install --save-dev html-webpack-plugin web ...

  4. 用thinkphp写的一个例子:抓取网站的内容并且保存到本地

    我需要写这么一个例子,到电子课本网下载一本电子书. 电子课本网的电子书,是把书的每一页当成一个图片,然后一本书就是有很多张图片,我需要批量的进行下载图片操作. 下面是代码部分: public func ...

  5. Erlang 程序引发共享内存 bug 的一个例子

    虽然 Erlang 的广告说得非常好,functional.share-nothing.消息传递,blah blah 的,好像用 Erlang 写并发程序就高枕无忧了,但是由于 Erlang 信奉高度 ...

  6. 对Jena的简单理解和一个例子

    本文简单介绍Jena(Jena 2.4),使用Protégé 3.1(不是最新版本)创建一个简单的生物(Creature)本体,然后参照Jena文档中的一个例子对本体进行简单的处理,输出本体中的Cla ...

  7. 使用flume的一个例子

    新项目中需要使用到hadoop和vertica,使用flume把数据加载到hadoop中,我做了一个例子, 即监控一个sharefolder,如果里面有文件,则会文件load到hadoop. 开启Fl ...

  8. php部分--面向对象三大特性-封装(另加连续调用的一个例子)、继承(重写、重载的例子)、多态;

    一.封装性: 目的:为了使类更加安全. 做法:1设置私有成员 2在类中建方法,访问私有成员 3在方法里边加控制(if) 私有成员访问的两种方法: 方法一:set(可写) get(可读)做方法(可读可写 ...

  9. Spark小课堂Week7 从Spark中一个例子看面向对象设计

    Spark小课堂Week7 从Spark中一个例子看面向对象设计 今天我们讨论了个问题,来设计一个Spark中的常用功能. 功能描述:数据源是一切处理的源头,这次要实现下加载数据源的方法load() ...

  10. c++模板实例化的一个例子

    以下是c++模板实例化的一个例子,虽然ObjectList::clear()里面调用的test()函数是没有定义的,但是以下代码能够编译通过,可见ObjectList::clear()未编译: tem ...

随机推荐

  1. [内网渗透]Windows中的用户帐户与组账户

    0x01 用户帐户 1.1 简介        用户帐户是对计算机用户身份的标识,本地用户帐户.密码存在本地计算机上,只对本机有效,存储在本地安全帐户数据库 SAM 中.        文件路径:C: ...

  2. Clion下同时编写多个main函数

    在你的CMakeLists.txt文件下配置,使用add_executable(),前面的一定要不一样 红色部分是描述main的,配置后运行处可以选择:

  3. fastq 转换为 fasta

    使用 awk awk '{if(NR%4 == 1){print ">" substr($0, 2)}}{if(NR%4 == 2){print}}' XXX.fastq & ...

  4. px,em和rem

    1 px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的 2 em是相对长度单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字 ...

  5. 【Django】Django项目结构与单元测试

    学校的软工项目要开发一个网站,自然的想到用python+Django来做.由于之前没有用Django开发过大型的网站项目,所以遇到了一些问题.记录在此,便于以后查阅. 今天完成了项目结构的设计.部分的 ...

  6. JS高级:面向对象的构造函数

    1 创建对象的方式 1.1 字面量的方式创建对象 var p1 = { name: '张三', run: function () { console.log(this.name + '跑'); } } ...

  7. clipboard 在 vue 项目中,on 事件监听回调多次执行

    clipboard 定义一个全局变量 import ClipboardJS from "clipboard"; if(clipboard){ clipboard.destroy() ...

  8. SVN + Jenkins 构建自动部署

    1. 前言 因为研发部门不想把他们的源代码 git 到服务器再编译,git + maven + jenkins 的方式行不通,于是采用 svn + jenkins的方式,流程如下: 只需要 程序员 手 ...

  9. [LeetCode] 190. Reverse Bits 翻转二进制位

    Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in ...

  10. [LeetCode] 257. Binary Tree Paths 二叉树路径

    Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 ...