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). 所以我们就建一 ...
随机推荐
- jenkins持续集成:jenkins+SVN
实现jenkins从svn拉取最新的代码,再执行驱动脚本进行自动化测试 新建一个任务 输入任务名,选“构建一个自由风格的软件项目”,点左下角“确定” 丢弃旧的构建,如下设置为保留3天内的10条构建记录 ...
- 滴水穿石-08IO
1.0 File a:构造方法 package d8; import java.io.File; public class FileGouZao { public static void main(S ...
- Asp.Net MVC Ajax轮训解决Session失效时间
这种方法不是太好,对服务器得压力大,由于系统是内部人员使用,业务有比较复杂,所以有些值得需要Session去保存,但是,Session有失效时间. 代码如下: $(function () { func ...
- 修改Tomcat默认连接数
<Connector port=" protocol="HTTP/1.1" connectionTimeout=" redirectPort=" ...
- EntityFramework 优化建议(转)
转载地址:http://blog.jd-in.com/947.html Entity Framework目前最新版本是6.1.3,当然Entity Framework 7 目前还是预览版,并不能投入正 ...
- Atcoder ARC101 Ribbons on Tree
题解: 前面牛客网的那个比赛也有一道容斥+dp 两道感觉都挺不错的 比较容易想到的是 f[i][j]表示枚举到了i点,子树中有j个未匹配 这样的话我们需要枚举儿子中匹配状态 这样是n^2的(这是个经典 ...
- mzf的考验
题解: 比较水吧 显然是平衡树的操作 然后就是写写写 用对拍来查错相比之下直接样例查还是比较容易的 刚开始没有优化常数没开O2就变成暴力分了smg 开了O2就a了 代码: #include <b ...
- IIS:另一个程序正在使用此文件进程无法访问。
启动网站时,遇到这个错误,一般是端口已经被占用,更换一个空闲端口即可. 通过以下命令可查询 根据最后一列的数字在任务管理器中可查看被哪个程序占用了
- Apache ActiveMQ 远程代码执行漏洞 (CVE-2016-3088)案例分析
部署ActiveMQ运行环境 在linux上部署apache-activemq-5.10.0-bin.tar.gz 通过tar -zxvf apache-activemq-5.10.0-bin.ta ...
- python 类、函数的引用
类的引用 一.同级目录引用: from 文件名 import 类名 如果报错,原因基本上就是:pycharm不会将当前文件目录自动加入自己的sourse_path. 解决方法: ...