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). 所以我们就建一 ...
随机推荐
- cf round546 cde
第一题会卡一下同时用set和cin.. 其他的注意下矩阵对角线下标的应用即可 #include<bits/stdc++.h> using namespace std; #define ma ...
- N阶楼梯上楼问题
N阶楼梯上楼问题 时间限制: 1 Sec 内存限制: 32 MB 题目描述 样例输出 13 #include <stdio.h> int main() { int i, n; long ...
- web.xml中的ContextLoaderListener和DispatcherServlet区别
ContextLoaderListener和DispatcherServlet都会在Web容器启动的时候加载一下bean配置. 区别在于: DispatcherServlet一般会加载MVC相关的be ...
- delete web server(nginx)
#!/bin/bash conf_dir1="/usr/local/nginx/conf/vhost.d" #conf_dir2="/usr/local/apache2/ ...
- 插件使用一进度条---nprogress
nprogress 是像youtube一样在顶部出现进度条,用在一些加载比较缓慢的场景中. 官方网站是 http://ricostacruz.com/nprogress/ 源码在 https://gi ...
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现.服务消费.负载均衡.断路器.智能路由.配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统.一个简答的微服务系统如下图: ...
- expect 安装 salt 客户端
#!/bin/bash for i in $(cat ./host.txt) do echo $i > ./tmp.txt HOSTNAME=$(cut -d ':' -f1 ./tmp.txt ...
- 009-Python-面向对象
1.面向对象: 1.1什么是类? 类:把一类事物的相同的特征和动作整合到一起就是类,类是一个抽象的概念: 1.2什么是对象? 对象:就是基于类而创建的一个具体事物(具体存在的)也是特征和动作整合到一起 ...
- C#enum使用Attribute求字段名
用到了一些反射:(自己看吧) public enum UserState { /// <summary> /// 正常 /// </summary> [Remark(" ...
- WMSYS.WM_CONCAT返回CLOB类型的解决办法
https://blog.csdn.net/cnm_csdn_wt/article/details/80047878