DataGridView的属性:
AllowUserToAddRows:如果为true允许用户添加行,false不允许用户添加行
ReadOnly:true表示只读、不能修改单元格中的值,false可以对单元格进行修改
SelectionMode:FullRowSelect表示点击单元格选择整行
MultiSelect:true表示可以选多行,false表示不可以选多行
DataSource:绑定数据源
Colunms:列的集合

DataGridView中列的属性:
DataPropertyName:设置要和数据源中的哪个列进行绑定
HeaderText:设置当前列的名称
Visible:设置当前列是否可见
Frozen:设置当前列是否冻结(与excel中的冻结窗体类似)
ReadOnly:设置当前列是否只读

获取选中的行,列的单元格

this.dgvShow.CurrentRow.Cells[0].Value.ToString();//获取dgv里面选中的列的第一个值

//SelectedRows被选中的行的集合,SelectedRows[0]获取集合中的第一行
 //Cells代表数据行中单元格的集合,Cells[0]获取第一个单元格
  this.dgvStudents.SelectedRows[0].Cells[0].Value.ToString();

public partial class DataGridView的使用 : Form
    {
        public DataGridView的使用()
        {
            InitializeComponent();
        }

SqlDataAdapter sda = null;
        DataSet ds = null;

//数据源为DataTable
        //private void DataGridView的使用_Load(object sender, EventArgs e)
        //{
        //    string sql = "select StuNo,StuName,StuAge,StuSex from Student";
        //    SqlConnection conn = DBHelper.GetConnection();
        //    sda = new SqlDataAdapter(sql, conn);
        //    ds = new DataSet();
        //    sda.Fill(ds);
        //    DataTable table = ds.Tables[0];
        //    //给DataGridView绑定数据源
        //    this.dgvStudents.DataSource = table;
        //}

//数据源为DataView
        private void DataGridView的使用_Load(object sender, EventArgs e)
        {
            string sql = "select StuNo,StuName,StuAge,StuSex from Student";
            SqlConnection conn = DBHelper.GetConnection();
            sda = new SqlDataAdapter(sql, conn);
            ds = new DataSet();
            sda.Fill(ds);
            DataTable table = ds.Tables[0];
            //给DataGridView绑定数据源
            DataView dv = table.DefaultView;
            dv.Sort = "StuAge desc";//排序
            dv.RowFilter = "StuAge>22";//筛选行
            this.dgvStudents.DataSource = dv;
        }

//批量修改
        //优点:功能强大、操作简单、代码简洁
        //缺点:1、只能操作一个表  2、操作的数据集中必须包含主键
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            SqlCommandBuilder builder = new SqlCommandBuilder(sda);
            sda.Update(ds);
            MessageBox.Show("修改成功!");
        }
    }

DataGridView的使用和批量修改的更多相关文章

  1. c# 适配器批量修改

    DataTable dt; //在方法外部申明数据表SqlDataAdapter adapter; //在方法外部申明数据适配器 查询方法adapter = new SqlDataAdapter(Sq ...

  2. mac linux rename命令行批量修改文件名

    我的mac使用命令行批量修改名字时发现居然没有rename的指令: zsh: command not found: rename 所以使用HomeBrew先安装一下: ➜ ~ brew install ...

  3. MYSQL批量修改表前缀与表名sql语句

    修改表名 ALTER TABLE 原表名 RENAME TO 新表名; 一句SQL语句只能修改一张表 show tables; 1. SELECT CONCAT( 'ALTER TABLE ', ta ...

  4. 使用powershell批量修改文本为utf8

    根据上一篇powershell生成pro的方法,增加一个批量修改文本文件为utf8格式的方法 $incPath = dir -filter "*.c" -Recurse $temp ...

  5. nodejs 批量修改、删除

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAQhCAIAAABDaAVHAAAgAElEQVR4nOydeXxU5aH359733vd9b/ ...

  6. iOS --- DIY文件名批量修改

    批量修改文件名: // 1.创建文件管理 NSFileManager *filemanager =[NSFileManager defaultManager]; // 2. 获得所有文件夹路径 NSS ...

  7. ansible非root用户批量修改root密码

    前言: 由于线上服务器密码长久没有更新,现领导要求批量更换密码.线上的之前部署过salt,但由于各种因素没有正常使用. 使用自动化工具批量修改的计划搁浅了,后来领导给了个python多线程修改密码脚本 ...

  8. Python 批量修改文件名

    最近下载了几部美剧(越狱.迷失.权利的游戏......),每集文件名都好长好长..想改短一些,但一个一个改太累了,于是写了个脚本来实现批量修改: 修改前文件名: 修改后文件名: 代码实现: #enco ...

  9. 批量修改sql server 2008的架构

    --批量修改架构.名称为XJADMINATT的所有表修改为dbo-- --把执行的结果,拷贝到命令行,执行命令即可-- declare @name sysname declare csr1 curso ...

随机推荐

  1. 下载文档--Struts2中国的文件下载被显示为空间的问题

    下载文档--Struts2中国人似乎是空文件下载格问题 前言:近期公司项目中用到文件下载,依据底层,决定使用struts2的文件下载模式. 乱码大多数都攻克了,竟然出现中文文件下载时,中文文字显示为空 ...

  2. handlebar的一些用法——个人使用总结

    handlebar的一些用法 概述与介绍 Handlebars 是 JavaScript 一个语义模板库,通过对view和data的分离来快速构建Web模板.它采用"Logic-less t ...

  3. hdu Jungle Roads(最小生成树)

    Problem Description The Head Elder of the tropical island of Lagrishan has a problem. A burst of for ...

  4. 毕业后的第二份工作:进入国外 在新加坡工作 每月一次18K

    --訪传智播客成都校区12.26就业班学员 杨洋 姓名:杨洋 毕业院校:重庆科技学院 专业:电子信息技术与project 就职公司:新电科技 岗位:Javaproject师 月薪:18K 上午.他刚去 ...

  5. UBUNTU如何改变mysql默认文件夹数据文件夹

    停止mysql维修 * sudo /etc/init.d/mysql stop 原始文件夹的副本 * cp -r /var/lib/mysql /home/yourname/somewhere 改动权 ...

  6. (一)spring MVC基本概念和流程

    MVC的概念 Model(模型):包含数据和行为.不过现在一般都分离开来:Value Object(数据) 和 服务层(行为). View(视图):负责进行模型的展示,一般就是展示给用户的界面. Co ...

  7. javascript中字符串常用方法总结

    字符串是javascript编程中不可或缺的元素,掌握字符串常用的方法也是我们学习过程中的必经之路,下面我们总结一些最常用的的字符串方法. string.charAt(postion) charAt方 ...

  8. 【C++实现】HeadFirst策略模式设计模式

    策略模式定义了算法家族.分别封装起来.让它们之间能够相互替换,此模式让算法的变化独立于使用算法的客户. Head First设计模式中介绍策略模式时以Duck类作为样例.当中用flyBehavior和 ...

  9. [CLR via C#]1.5 本地代码生成器:NGen.exe

    原文:[CLR via C#]1.5 本地代码生成器:NGen.exe 1. NGen.exe工具,可以在一个程序安装到用户计算机时,将IL代码编译成为本地代码.由于代码在安装时已经编译好,所以CLR ...

  10. Cassandra C++/NodeJs开发环境

    工作的需要,开始更多地倾向于去中心化的结构,目前看来Cassandra算是去中心化DB中性能/管理最热门的选择,崇尚其P2P的理念. 自身原因对JAVA不擅长(周围写C的好少),还是更热衷于C++/J ...