DataGridView修改数据并传到数据库
1、 两个属性设置:
第一个:设置自动创建列,默认为True
DataGridView1. AutoGenerateColumns = True;
虽然默认为True,但写下去总是好的!!!
第二个:鼠标单击编辑,默认双击
DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
2、 防止单元格被编辑:
DataGridViewCell:限制单元格
DataGridViewColumn:限制列
DataGridViewRow:限制行
DataGridViewReadOnly:限制整个DataGridView控件
关键代码如下:
dataGridView1.ReadOnly = true;//整个表格只读
dataGridView1.Columns[].ReadOnly = true;//列只读
dataGridView1.Rows[].ReadOnly = true;//行只读
dataGridView1[,].ReadOnly = true;//单元格只读
获取数据
string strcolumn = dataGridView1.Columns[e.ColumnIndex].HeaderText;//获取列标题
string strrow = dataGridView1.Rows[e.RowIndex].Cells[].Value.ToString();//获取焦点触发行的第一个值
string value = dataGridView1.CurrentCell.Value.ToString();//获取当前点击的活动单元格的值
还有一种限制编辑的方式,EditMode枚举下的EditProgrammatically的属性:
dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
//仅在调用 System.Windows.Forms.DataGridView.BeginEdit(System.Boolean) 方法时开始编辑
此属性需要调用一个CellBeginEdit事件,编辑条件写在方法中。
private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
// dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
//在点击单元格时,触发此事件,进行有条件的编辑
}
3、可通过CellValueChanged事件来实现更新数据库的数据数据链接
private SqlConnection connection()
{
string strconn = "server = XQ-20160210KQLE\\SA;uid = sa;pwd = 123456;database = JYXinXi";
SqlConnection conn = new SqlConnection(strconn);
return conn;
}
DataGridView显示数据
private void GetDataGridView()
{
try
{
string strda = "select * from FilTer";
SqlConnection conn = connection();
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(strda, conn);
da.Fill(ds, "显示数据");
conn.Close();
dataGridView1.AutoGenerateColumns = true;//自动创建列
dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;//单击单元格编辑
dataGridView1.DataSource = ds.Tables[];
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
}
更新数据库
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
SqlConnection conn = connection();
try
{
string strcolumn = dataGridView1.Columns[e.ColumnIndex].HeaderText;//获取列标题
string strrow = dataGridView1.Rows[e.RowIndex].Cells[].Value.ToString();//获取焦点触发行的第一个值
string value = dataGridView1.CurrentCell.Value.ToString();//获取当前点击的活动单元格的值
string strcomm = "update FilTer set " + strcolumn + "='" + value + "'where id = " + strrow;
//update FilTer set 列名 = value where id = 3
conn.Open();
SqlCommand comm = new SqlCommand(strcomm, conn);
comm.ExecuteNonQuery();
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
finally
{
conn.Close();
}
}
DataGridView修改数据并传到数据库的更多相关文章
- Execl数据上传到数据库
=============================================================asp.net================================ ...
- EF 直接修改数据,不再查询数据库
public int UpData(T model, params string[] proNames) { //4.1将 对象 添加到 EF中 DbEntityEntry entry = null; ...
- C# 数据库dataGridView刷新数据和主外键判断
本文主要讲诉在使用VS2012+SQL Server数据库做系统中,通常会遇到几个问题.使用dataGridView控件在修改.删除.插入数据后,怎样刷新数据显示操作后的结果.同时在对数据操作时通常会 ...
- DataGridView 直接修改数据操作
DataGridView单元格进入编辑模式的方法: 双击或者f2: EditCellOnEnter 属性设为True,对DataGridView进行配置,当用户移动到该单元格后,该单元格可立即切换到编 ...
- 将前台input中的数据异步传到后台并存入数据库
将前台input中的数据异步传到后台并存入数据库 先看图: 利用ajax异步交互数据,并不是以json数组的形式将数据传到后台,而是利用字符数组的形式将其传到后台.动态新增每一行数据,将每一列对应的数 ...
- JDBC操作数据库之修改数据
使用JDBC修改数据库中的数据,起操作方法是和添加数据差不多的,只不过在修改数据的时候还要用到UPDATE语句来实现的,例如:把图书信息id为1的图书数量改为100,其sql语句是:update bo ...
- MySQL数据库基础(二)(约束以及修改数据表)
一,约束以及修改数据表 约束的作用?1.约束保证数据的完整性.一致性:2.约束分为表级约束.列级约束:3.约束类型包括:NOT NULL(非空约束).PRIMARY KEY(主键约束).UNIQUE ...
- 数据库之mysql篇(3)—— mysql创建/修改数据表/操作表数据
创建数据表:create table 数据表名 1.创建表规范 create table 表名( 列名 数据类型 是否为空 自动排序/默认值 主键/外键/唯一键, 列名 数据类型 ...
- 上传RNA-seq数据到NCBI GEO数据库
SRA - NCBI example - NCBI 要发文章了,审稿时编辑肯定会要求你上传NGS测序数据. 一般数据都是放在集群,不可能放在个人电脑上,因为有的数据大的吓人(几个T). 所以我们就建一 ...
随机推荐
- 伪Ap接入点
1.创建一个伪造的Ap接入点,必须购买一个无线网卡的设备,接受功率在300Mbps ,低于这个传输速率的值,效果很差,都达到用户可以连接验证的效果.其芯片必须支持kali linux 内核系统. 2. ...
- 最小标示法模板 poj1509
最小标示法:给定一个字符串,不断将其最后一个字符放到开头,最终会得到n个字符串,称这n个字符串循环同构,这些字符串中字典序最小的一个,就是最小表示法 #include<iostream> ...
- Nginx配置TCP请求转发
Nginx配置TCP请求转发 1.TCP请求转发基于stream在1.9版本前,需要单独编译安装该组建: # 依赖服务 [root@baolin conf]#yum -y install pcre-d ...
- WPF 对控件进行截图且不丢失范围(转载)
原文:Taking WPF “Screenshots” I was recently working on a Surface project at Microsoft (that will be s ...
- fastjson如何判断JSONObject和JSONArray
1.fastjson如何判断JSONObject和JSONArray,百度一下,教程还真不少,但是是阿里的fastjson的我是没有找到合适的方法.这里用一个还算可以的方法,算是实现了这个效果. 网上 ...
- ionic 3 安卓手机获取经纬度坐标
现在有个需求:每隔一段时间需向后台服务器返回当前用户的经纬度坐标. ionic 官方提供的有定位插件cordova-plugin-geolocation,兼容ios和android版本,网上查资料说最 ...
- WebAPI——自动生成帮助文档
Web Api 自动生成帮助文档 新建Web Api项目之后,会在首页有API的导航菜单,点击即可看到API帮助文档,不过很遗憾,Description 是没有内容的. 怎么办呢? 第一步: 如果 ...
- 【AtCoder】ARC077
C - pushpush 如果是按下标说的话 如果是偶数个 那么是 \(N,N - 2,N - 4...1,3,5...N - 1\) 如果是奇数个 \(N,N - 2,N - 4...2,4,6.. ...
- Js计算时间差,天数,小时数,余数
var begintime_ms = Date.parse(new Date(begintime.replace(/-/g, "/"))); //begintime 为开始时间 v ...
- mongodb输错命令后不能删除问题
在用crt连接Linux操作MongoDB时,命令输错了,想删除的时候,却删除不了,原因是crt的配置有问题,解决办法如下 第一步:选项-->会话选项